Age | Commit message (Collapse) | Author |
|
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.
|
|
If a mod has multiple mod folders inside it, however all with the same
name, they'll be merged together, this now fixes that, by adding
"(dupe)" to the end of it, along with displaying an error, however it
will install successfully.
This also happens to add some duplicate toast protection, however this
should be reworked, but I am not bothered to deal with it right now, and
I instead will be putting this on future me.
|
|
Some functions have been renamed:
update() -> updateNorthstar()
updatevp() -> updateViper()
Overall these are far better function names...
|
|
|
|
|
|
|
|
When release notes (either Northstar or Viper) fetching fails,
if cache contains data, we display it even if it's outdated; if
cache is empty, we display an error message in place of release
notes.
|
|
When opening the preview for a mod it may show a cookie alert, this is
now auto-hidden, along with an alert recommending users to use the
Thunderstore Mod Manager, or an alternative, since Viper is an
alternative, this is only an alert that can confuse users. And it is
therefore removed.
|
|
The settings button now turns like a cog when hovered, and there's a
slight animation when you hover a settings switch.
|
|
Only on the titles, putting them only on the options or on both the
title and options would be far too much, just the title is perfect.
|
|
Mostly syntax, but also a few fixes with how the settings system work,
and also a change in localization strings.
|
|
|
|
feat: Master server status
|
|
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.
|
|
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.
|
|
While it's unlikely we'll ever get down to 1 player, it's best to be on
the safe side :p
|
|
|
|
This doesn't fully implement everything as the master server is down
whilst making this commit, so I can't fully implement it.
|
|
Previously packages were filtered based on whether
Browser.filters.get().filtered included any of the categories, now
however it only checks if one of 4 filters is selected, Skins, Mods,
Client-side and Server-side, anything beyond that like "Language: EN" is
ignored and unless it doesn't have any of the other filters selected
it'll go unfiltered.
Previously when selecting every filter you'd still only get 100'ish
packages at best, now you get the full 150 that there currently is on
Thunderstore, except for r2modman and Northstar itself.
|
|
If the only results when searching are elements that are filtered then
it just infinitely shows loading instead showing "No results..."
|
|
|
|
Clicking the filters button would close then reopen it, instead of
closing, then opening when clicking again.
|
|
This is easier to manage, and a lot less annoying to navigate, having to
scroll through many lines of code is annoying, categorizing makes it
easier, I also overall improved the layout of many of the CSS files.
|
|
This was just so I didn't have to go to the Mods tab, click "Find Mods",
and click "View" on one of the mods.
|
|
Instead of instantly flashing when it's done loading and so on, it now
fades in, instead, without any problems.
|
|
"Info" -> "View", along with a button in the previewer to open the mod
page in the browser if you so choose.
|
|
It now looks a lot better overall. Still missing a few things, like
showing when it's loading, but besides that it's pretty much done.
|
|
Instead of opening your normal web browser you can now just open the
page inside Viper, many changes aren't finished yet, notably the
webview.css file.
At some point I'll split the main.css into more files so the folder
makes sense even though there's currently only one file in there.
|
|
Instead of setting the innerHTML every single time an element get added
it now just appends them like you should be doing, but I was lazy when I
wrote the original code I guess.
Not only does this improve performance, but it also fixes the CSS fade
animation not making every mod element/entry flicker, and instead now it
only does it on the new ones, like intended.
|
|
In the past when more than 50 packages was loaded it'd simply display a
"Maximum packages loaded" message, and it wasn't actually 50, as it just
took the first 50 packages loaded, whether or not they were filtered
out, so now that's fixed and a "Load more..." button has been added.
With that comes some changes to the lang strings for
"gui.browser.endoflist" and a new one "gui.browser.loadmore".
I also fixed the filtered packages issue also occurring in searches.
This will overall allow a user to more easily find the maximum amount of
packages without loading literally over a hundred packages at once, not
good for performance...
|
|
Made the UI slightly bigger, and the mod elements aren't on their own
line, this allows you to see more at once while it being bigger and more
telligble, before it was kind of empty.
|
|
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.
|
|
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.
|
|
Instead of updating the branch it was easier to simply add this, I don't
plan to add the issue/PR support, as it's complicated with no real
benefit, as NS seems to already link the PR's themselves.
|
|
Simplifies the parsing of Markdown, whilst also solving problems that
the previous parser for Markdown caused.
|
|
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.
|
|
sped up some animations, added a few more colors to different places,
overall just a slight spice up to the UI
|
|
Veeeerrryyy tiny improvements:
- titles are now in bold
- reduced the padding between version and author text
- slight blur to images has been added, which looks nice
- the large margin between the close and filter button is now fixed
|
|
|
|
This is for the sake of UX, as a user might be confused about why it
doesn't work as they may not notice that they've to turn off auto-detect
language first.
Because of this Settings.switch() now has a state value, and if you
provide a DOM element as the element arg it now uses that to know what
to toggle, before we used to just provide a number, which made sense for
generating the onclick events, but not for this task...
This whole thing was brought up because of #115
|
|
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.
|
|
I've known about this bug for a bit but haven't been bothered to fix it,
essentially a language key was being logged instead of the string
attached to that key :p
|
|
This allows someone to have their system in any language, and then have
Viper in a separate language. This is also useful for testing.
|
|
Slightly better UX I guess?
|
|
For testing purposes I had the mod browser auto show on startup, that's
removed now, I also when refactoring some code forgot to change the name
of a function everywhere, leading to an error.
|
|
Fully implemented (I think? Maybe there's an edge case?), albeit it's
missing "Updateable" and "Installed" filters, but they'll be added later
|
|
If a mod has the name of an already existing element some issues may
arise... So now we have all mod elements prefixed with "mod-" and we
also only search for elements inside #browserEntries, that should avoid
all issues...
|
|
|
|
If the nsargs are edited by a third-party program or anything that isn't
Viper, the next time you launch Viper it'll reset the nsargs back to
what it was when you last opened it.
|
|
Some users got confused about the "Change Game Path" label on the
startup page, thinking it was Viper asking the user to change the path,
to clear up that confusion we now just don't show that page on startup.
|