aboutsummaryrefslogtreecommitdiff
path: root/src/utils.js
AgeCommit message (Collapse)Author
2022-01-10[fix] not running auto-updates if viper.json does not existAlystrasz
2022-01-10[fix] checking for updates on viper launchRemy Raes
2022-01-08[feat] not checking for updates if settings.autoupdate is falseAlystrasz
2022-01-08[feat] checking every 15 minutes for new Northstar versionAlystrasz
2022-01-08mod support is disables if NS is not installed0neGal
2022-01-08fixed error if you ran --installmod without args0neGal
2022-01-08added cli arguments for mods0neGal
This adds both the arguments themselves, but also their entries in the man page and help page.
2022-01-08removed extra "})"0neGal
No clue why this is a here, or how it came to be.
2022-01-08Merge branch 'main' into mod-support0neGal
2022-01-07removed manual settings file write0neGal
Now using just saveSettings(), I think this line was overlooked when implementing the saveSettings() function.
2022-01-07fix: Game path check (#29)Rémy Raes
* [feat] adding methods signature to alert when selected game path is falsy * [feat] a game path is valid if it contains 'Titanfall2.exe' file * [feat] adding translations for wrong gamepath key * [feat] if a wrong path has been selected, ask for it again * formatting and removing useless function Given we only use checkGamePath() once there's no need to even have a function for it. Co-authored-by: 0neGal <mail@0negal.com>
2022-01-07fix: Rate limit (#27)Rémy Raes
* [chore] adding electron-fetch dependency * [feat] adding requests module skeleton * [feat] not doing any http request to get latest ns version if data is fresh * [fix] data is considered fresh if less than 5 minutes old * [feat] adding requests.getLatestNsVersionLink implementation * [refactor] fully using requests module (with associated cache) * [docs] adding documentation to requests module * [refactor] adding a key to get nsLatestRelease cache results * [chore] removing request deprecated dependency * [feat] using follow-redirects instead of electron-fetch * [chore] removing electron-fetch dependency * fixed formatting Single quotes to double, proper textwidth for comments, and proper comment style, the usual... Nothing special here... * fixed wrong location for requests.json We don't want to clutter people's config folder, hence we should use the cache folder instead... Co-authored-by: 0neGal <mail@0negal.com>
2022-01-05Merge branch 'main' of 0neGal/viper into mod-support0neGal
2022-01-04fix: No game path (#24)Rémy Raes
* [refactor] moving main.setPath listener outside start method * [refactor] setpath tells if game path is set or not * newpath event tells if game path dialog is successful or not * [feat] main window will not show if path is not set * [feat] viper displays a dialog and exits if no game path was prompted * [fix] viper prompts for game path if viper.json:gamepath is not set * [feat] translating gui.gamepath.must key * code cleanup fixing single quotes and alike * fix gui.gamepath.must message Co-authored-by: 0neGal <mail@0negal.com>
2022-01-03fixed error when disabled isn't created0neGal
2022-01-03fixed missingpath localization0neGal
2022-01-03Merge branch 'main' of 0neGal/viper into mod-support0neGal
2022-01-03download progress for NS0neGal
However in megabytes, and I don't know math very well, I just know (bytes / 1024 / 1024) gives megabytes, if you know a better simpler way to convert this make a PR, please...
2022-01-03we're now able to install archived mods0neGal
Lovely, only issue is for some reason both on Windows and Linux file dialogs can't select both directories and files, so either it's a folder or it's an archive, not both. So I guess we need to make some way to select it...
2022-01-03installing mods from folders got a lil easier0neGal
If a mod decided to put their actual mod files inside a folder inside a folder it'll search sub folders to try and find them and usually it's able to install it. Meaning, if instead of the mod being structured as such: mod/ mod.json other files ... It is structured as such: folder/ mod/ mod.json other files ... This will be very useful for zip files... As some people tend to archive a folder and not make an archive with the files in it. Leading to the above structure...
2022-01-03fully working GUI functionality0neGal
Smoothly updates and works flawlessly, the only thing that really needs improvements is the design and on top of that installing mods from a Zip file over folder.
2022-01-02toggling, removing and installing mods works0neGal
Mostly, the installing part needs a bit more look at, to support archives and different layouts for the mod. Such as searching through an archive to find the right folder because some mods don't use a proper layout. I also somewhat mitigated the whole issue of JSON files not being formatted properly by the mod developer (please just fix your formatting, I beg you.) by simply assigning the absolute basics, however we can't know the versions of the mods. I am not going to go out of my way to write code which can parse a file that wasn't made to be parsed because whoever wrote it doesn't know what a JSON file is made of. Simply not happening. I also added a few locatiolization related things, along with more info for --mods, so besides the normal counter for "Installed mods" you also have "Enabled mods" and "Disabled mods", very useful. The GUI also has a new added "Disabled" tag to mods that are disabled, however this is a temporary, it looks bad and I don't want it in release, I just needed a way to distinquish when testing. Because you can now also enable and disable mods, mods.list() gives back an Object that goes more or less something like: {all: ..., enabled: ..., disabled: ... }, take your guesses as to what everything means, you might even get it in the first try.
2022-01-02Merge branch 'main' of 0neGal/viper into mod-support0neGal
2022-01-01chore: Auto updating (#16)Rémy Raes
* [chore] adding electron-updater dependency * [feat] adding auto-updating mechanism * [chore] setting package version to v0.8.0 * [fix] restoring original repo URL * [docs] adding some documentation about publishing new releases * [chore] adding publish:windows command * [docs] updating publish instructions with new publish command * [chore] adding publish:linux command * [docs] updating publish instructions * --updatevp, and option to disable auto updates If you want you can set "autoupdates" to false in your config, no GUI tools to do this yet. For the CLI auto updates is off by default and you'll have to use --updatevp. I also removed the snap package, tho whether this stays as a change is still to be discussed. And with the new option I updated the help menu, the man page and everything along else that needs it. * removed "soon" parts of README for auto-updates * [feat] adding French translation for cli.help.updatevp key * confirmation for restarting the app Now instead of automatically updating and restarting the app, which may be slightly confusing to some users, (the app opens then closes and then opens), it now asks whether you want to restart and open the new version. If you say no, instead next time you launch it, it'll be on the new version. If you want to completely disable updates you can disable it in the viper.json file... * [feat] adding French translation for gui.update.available key * added configuration instruction in README Co-authored-by: 0neGal <mail@0negal.com>
2021-12-31Merge branch 'main' of 0neGal/viper into mod-support0neGal
2021-12-30first-ish draft of the mod UI and utils0neGal
2021-12-30Merge branch 'main' into feat/version-indicator0neGal
2021-12-30buttons now disable when updating, and app logs0neGal
The buttons in the GUI disable whilst you're updating Northstar and potentionally doing other things in the future, I also added a way to log things in the app, albeit it just prints it in the "Welcome to Viper!" part of the app, which is just fine. I also added all the needed language strings for the GUI logs and removed "gui.missinggamepath" as we use it for both the CLI and GUI even tho "general.missinggamepath" exists, and so we now use the general one for both, as the messages are the same.
2021-12-30version now refreshes, fixed and renamed stuff0neGal
The version now refreshes when you update/install Northstar, I renamed vpVersion/nsVersion to just vpversion/nsversion and getInstalledVersion() to getNSVersion(), removed uses of getElementById() with just the ID. I also added English localization. The versions text color is now bound by a CSS variable (we may use it in the future again). I'm also not sure what the point of `style="white-space: nowrap;"` was, as I don't see much of a difference? Rather instead use `<nobr>` in the lang file if needed. Besides that I did tiny code cleanup.
2021-12-30[feat] exporting utils.getInstalledVersion methodAlystrasz
2021-12-29cli is now fully localized0neGal
That is, it's now using our localization module...
2021-12-29Merge branch 'main' of 0neGal/viper into localization0neGal
2021-12-29uses navigator.language to determine language0neGal
2021-12-29Merge pull request #6 from Alystrasz/feat/updates-downloading0neGal
feat: Updates downloading
2021-12-29lil touch up on the log messages0neGal
2021-12-29removed updateInstalledVersion()0neGal
I'm not quite sure what the purpose of this function is considering we only use it once, and there's not much reason to export it or anything.
2021-12-28switched single quotes to double0neGal
2021-12-28[fix] settings are saved after setpath call on WindowsAlystrasz
After game path was set on Windows in first launch, the settings object would not be written to viper.json file, meaning that on next start, settings.gamepath variable would be loaded with a "" value, leading to errors.
2021-12-28[refactor] northstar version is stored in gamepathAlystrasz
2021-12-28removed unneeded spread operator0neGal
2021-12-28[refactor] renaming getInstalledVersion methodAlystrasz
2021-12-28[refactor] using snake_case for settings.northstar_version propertyAlystrasz
2021-12-28[feat] latest update is not downloaded if it's already installedAlystrasz
2021-12-28[feat] saving newly installed version tagAlystrasz
2021-12-28[feat] storing local northstar version in viper.jsonAlystrasz
2021-12-28[feat] extracting latest northstar release version tagAlystrasz
2021-12-28removed settings.file0neGal
We now just use a fixed string ("viper.json")
2021-12-28you can now exclude certain files like, ns_args0neGal
However, I can't figure out a way to directly exclude it in the unzip package, hence, it just renames the original to "<file>.excluded" when the extraction is done it then renames it back to it's original aka "<file>", overwriting what was extracted, which essentially excludes some files. If there exists an unzip library/package that has options for excluding files we should move to that, but until something as such is found the current way is how we'll do it.
2021-12-28fix initial config not setting zip variable0neGal
A bug stopped the settings.zip variable from being set after choosing the path, this resulted in Viper trying to save the zip to root. This was only on first launch, relaunching would fix this. For obvious reasons.
2021-12-27fixed not being in the gamepath when launching0neGal
Northstar requires you to be in the gamepath when launching, so we now change the current directory when launching.