aboutsummaryrefslogtreecommitdiff
path: root/src/app/main.js
AgeCommit message (Collapse)Author
2024-06-14initial gamepad/keyboard navigation support0neGal
Far from complete, but this does the bulk of the work, the rest is just fixing places where the selection moves in weird ways after doing some things, and overall improving the look and feel of it.
2024-06-08rename js/set_dom_strings.js to localize.js0neGal
2024-06-08convert js/browser.js to a CommonJS module0neGal
And `js/popups.js`, but it was already technically a CommonJS module, it was just leftover in `index.html` due to `js/browser.js` not being a CommonJS module.
2024-06-08convert js/tooltip.js to a CommonJS module0neGal
It's not actually used anywhere outside of itself, but oh well.
2024-06-08convert js/launcher.js to a CommonJS module0neGal
2024-06-08convert js/toast.js to a CommonJS module0neGal
Renamed from `toast.js` to `toasts.js` as well
2024-06-08convert js/mods.js to a CommonJS module0neGal
2024-06-08replace js/misc.js file with js/version.js module0neGal
2024-06-08initial commit to better modularize frontend0neGal
Far from done, but this pretty much splits everything inside `src/app/main.js` into separate files.
2024-02-05fixed dependency confirmation message0neGal
2024-02-03fixed some places using spaces for indentation0neGal
Ew! Bad! No! Bad! Bad!
2024-02-03added "Force quit game" button to Titanfall tab0neGal
2024-01-29added artificial delay to checking updates0neGal
When checking for an update whilst the latest release is already cached, it'll resolve near instantaneously, not even letting the user know what action they just performed, now however, a check for updates will visually take at least 500ms.
2024-01-24added search in settings popup0neGal
2024-01-24entirely refactor src/modules/requests.js0neGal
Its now been split into 2, requests.js and releases.js, the latter simply gets relevant info from GitHub release pages. The prior however gives simple functions for doing `GET` requests, and caching the result, and then transparently it'll use that cache when you request it next time. On top of this, some requests made by the renderer will now also use this, and this in turn ends up making loading the mod browser much faster. As instead of having to request the list of packages from Thunderstore, we can simply load the result of an old request. The current lifetime of the cache is 5 minutes, however this can also easily be adjusted. This also moves the cached requests away from <cache_folder>/viper-requests.json, and over to <cache_folder>/Viper/cached-requests.json
2024-01-12deprecate ns_startup_args.txt0neGal
Ideally this has no side effects, however, I've not actually tested if the launching does properly use the launch arguments, due to not having a Windows device on hand. This will be tested later... We still attempt to load launch arguments from `ns_startup_args.txt` if none is set in the settings. However, this may be removed in the future.
2023-11-08added progress bar to download and extraction0neGal
This takes a bit of code from #220 to implement percentage progress on the download, then with the new pseudo element on the Launch button, we can have a slight progress bar inside the button, along with percentages, and it all works handy dandy. This may not be finished, but it's definitely far there.
2023-09-21fixed buttons staying disabled after a path change0neGal
2023-09-21fixed gamepath buttons being disabled0neGal
If the gamepath is lost or similar then it'll disable many buttons, notably the install/launch buttons and other similar buttons, however for obvious reasons we shouldn't be stopping the user from changing their gamepath in this scenario. This is still useful when installing a mod or updating NS, so it's just this scenario.
2023-09-18added "Open gamepath" button0neGal
Very useful stuff!
2023-09-16added buttons for fixing some problems and alike0neGal
I will likely add more buttons in the future, but for now this is most of the ones a user could need to repair problems.
2023-09-16more minor fixes to the change in lang files0neGal
2023-09-16made some lang keys far more logical0neGal
Most of these are from back when Viper was originally started, I also removed a few keys as they were no longer in use, but were forgotten about, most of these are from pre-v1.0.0 aka, the old smaller UI
2023-09-16added button to force kill game0neGal
2023-09-13ideally eliminate race condition loading config0neGal
From my testing this works without problems, but further testing will be requested in #211
2023-09-13synchronize changes to settings from main process0neGal
If the main process has changes to the settings, said settings will now also be sent to the renderer, making them synchronized.
2023-09-13fixed gamepath only updating for the renderer0neGal
This would mean if the gamepath cant be found automatically you'll be asked to set your gamepath every time Viper starts, instead of it remembering it, and if it can find it automatically, then you'd never have known this was a problem (hence why this was even a problem)
2023-09-13use json.js for loading settings in the renderer0neGal
2023-07-22mostly support installing packages through GUI0neGal
Install toasts, installing overall, dependencies and so forth, all seem to be fully functional, however more bug testing is probably required to concluce whether that is actually the case or not... This also doesn't break `src/modules/mods.js`, i.e dragging mods in to manually install them still functions the same as always.
2023-07-21rename mods.list() properties to use snake case0neGal
I may or may not have missed some properties or something somewhere, perhaps we'll see if something ends up broken in the future...
2023-05-06change launch button text if game is running0neGal
This should've already been a thing, and was a thing for when the game was currently launching, but this functionality seems to have been broken at some point.
2023-04-29win.alert() now uses Promise, and added .confirm()0neGal
win.alert() now has a Promise return value, which'll allow you to wait until an alert has been closed before continuing code execution. win.confirm() was also added it's the same as win.alert() except it runs confirm() in the renderer instead of alert(), and has a return boolean in the Promise resolve callback. This boolean being whether the user confirmed the action or not.
2023-04-01Fixes broken JSON files on restartLumiChnn
On restart, if the json file was broken supposedly would try to repair but it wouldn't work, it would keep repairing but failing. This should fix it by deleting the json file and creating a new one at the start with the correct settings (hopefully)
2023-03-09download Northstar to <cache_dir>/vipertmp0neGal
"cache_dir" being wherever your OS puts it's cache, it's the same place mods.js uses to download mods. This prevents cluttering up the gamepath with temporary files.
2023-03-05modularized many functions and got rid of utils.js0neGal
Notably, winLog() and winAlert() are now win.log() and win.alert() inside modules/window.js. updateViper(), updateNorthstar and handleNorthstarUpdating() are now update.viper(), update.northstar() and update.northstar_autoupdate(), inside modules/update.js isGameRunning() and isOriginRunning() are now is_running.origin() and is_running.game() inside modules/is_running.js, along with a .titanfall() and .northstar() for more specificity. Not used anywhere right now, but may in the future be used. setpath() and gamepathExists() are now gamepath.set() and gamepath.exists() inside modules/gamepath.js killOrigin() are now kill.origin() inside modules/kill.js setlang() is now just inlined into the only event where it's used.
2023-01-30disable modslist buttons properly0neGal
2023-01-28initial draft for redesign of the mod list0neGal
The current design for the installed mods is not exactly the best. And it has been due for a redesign for quite a while, I'm finally starting work on this.
2023-01-12basically support thunderstore_author.txt0neGal
This doesn't entirely uphold support, as it doesn't use the author file for anything, however it does write it as intended.
2022-11-23added more user friendly error message0neGal
When JavaScript errors occur outside of the renderer, they'll no longer display a big and confusingly detailed error stack, now they'll simply be shown a toast about the fact that an error happened. The user can then click this to get more details, but still without it being as invasive and obtuse as before.
2022-09-14differentiation between update() and updatevp()0neGal
Some functions have been renamed: update() -> updateNorthstar() updatevp() -> updateViper() Overall these are far better function names...
2022-08-07fix: lintAlystrasz
2022-08-06feat: display a toast message if no Internet at launchAlystrasz
2022-08-06feat: prevent Northstar update and update download link text if no InternetAlystrasz
2022-06-07minor changes0neGal
Mostly syntax, but also a few fixes with how the settings system work, and also a change in localization strings.
2022-05-30refactored event names0neGal
Quite a lot of them aren't in the same syntax/style, and it's quite bad to look at, this should fix them all without causing issues.
2022-05-30fixed missing commas and various syntax stuff0neGal
I know, commas aren't needed, however, going in and out of using commas and not using them also looks bad, so generally I try to always use them, with exceptions.
2022-05-16already installed dependencies are now skipped0neGal
If you already have all the dependencies or some dependencies of a package those will be skipped, if there is no dependencies missing it'll just install, and otherwise it'll show the missing and ask whether you want to install them. Meaning if a package has two dependencies and you've one of them only the one you don't have will show up.
2022-05-12initial draft for supporting dependencies0neGal
This should allow you to install packages that have dependencies, however maybe not with the best UI/UX experience, as currently there's only an English localization, and we also install dependencies even if the dependency is already installed.
2022-04-28added: error if config file isn't valid0neGal
Essentially just validates the config file and then prompts you about it, it allows you to reset it directly or just to exit and let yourself fix it. And because the error message appears directly in the renderer we have access to navigator.language, and can therefore still localize the string. However! We can't actually care if the user has disabled auto detection of their language, since... y'know, the config file where that's stored isn't able to be read properly. And so I added an argument to lang(), which allows you to force it to use a specific language if that language is available, if not it defaults back to English.
2022-04-13check to make sure gamepath exists0neGal
When Viper starts up it'll check to make sure the gamepath still exists, and throws errors if not, it also redirects you to the first page (the one where you can set the gamepath), and gives you an informative error. This could happen because the user unmounted the drive the gamepath is on, or it could happen if the user moved their game location.