Commit Graph

77 Commits

Author SHA1 Message Date
Daniel Scalzi
2a9db6c646
Various fixes to New UI.
Add proper styling for spoiler blocks. (#6)
Fixed minor issue with relative url replacement regex.
Upgraded eslint@5.5.0
2018-09-05 02:30:26 -04:00
Daniel Scalzi
e53b92c38b
Fix styling error when logging out of last account. 2018-08-29 13:44:28 -04:00
Daniel Scalzi
0346597afe
Wrap calls to console.log through LoggerUtil (prefixes). 2018-08-22 14:21:49 -04:00
Daniel Scalzi
37606dc8d2
Improvements to overlay keybinds.
Added dynamic keybinder for overlays. If dismissable, the Escape key will dismiss the overlay. If not dismissable, Enter & Escape will trigger the main button.
If the selected account is not valid and you have more than one other account, you may cancel logging in to return to the original error overlay.
Updated electron-builder@20.28.2.
Fixed minor bug where the background of the settings UI was set to transparent. This occurred if the validation error overlay was shown on the settings UI, and you chose the login option.
2018-08-22 10:54:09 -04:00
Daniel Scalzi
afe69a21c6
Small changes and cleanup to Java related UI.
The manual installation overlay now links to the Java Management wiki article.
The Available Options for Java 8 href now links to the os-specific page (/windows for windows, /unix for macOS and Linux).
The default config now uses the same value as max ram for min ram.
2018-08-20 04:02:27 -04:00
Daniel Scalzi
58a8215b05
v1.0.0-beta.3 - Added error handling for LaunchWrapper failure.
Fixes #5.
2018-08-19 03:16:08 -04:00
Daniel Scalzi
f1d89c0e6b
Fixed game status monitoring.
Switched to version-safe regex for monitoring game launch progress.
Game output is now encoded in utf-8 to avoid multiple conversions from Uint8Array to String.
Note that game output has line breaks. Trim any content before testing it against regular expressions.
2018-08-13 08:25:25 -04:00
Daniel Scalzi
4f416220c2
Added failsafe to configuration loading.
If file is malformed or corrupt, generate a fresh configuration file.
2018-08-13 06:31:46 -04:00
Daniel Scalzi
1566ff4e4c
Updated the auto-update UI.
Added a settings tab to manage updates.
On this tab you can:
* Init auto update check.
* View update information (version, prerelease vs release, etc).
* View update changelog.
* Install updates (when downloaded).
The green glow on the landing page now takes users to the settings tab. Updates can be installed from there.
This UI can be changed in the future if needed.
2018-08-13 06:13:13 -04:00
Daniel Scalzi
b46ac97493
General cleanup for mods tab code. 2018-08-07 04:41:26 -04:00
Daniel Scalzi
556199aa55
Added support for drop-in mods on the UI. 2018-08-07 04:16:15 -04:00
Daniel Scalzi
ff3f2bfb8d
Added server status bar to the top of the mods tab.
The user is also given the option to switch servers from this status bar.
2018-08-07 00:58:32 -04:00
Daniel Scalzi
0c98cc2447
Added support for optional submods of required mods. 2018-07-29 16:32:41 +02:00
Daniel Scalzi
60ba7b4f8a
Add functionality to mods tab.
Mod configurations can now be changed and saved.
Still pending optimization to allow required mods to
properly declare optional mods.
Show main UI on interactive event. We shouldn't wait for
remote images to load first.
2018-07-29 14:42:11 +02:00
Daniel Scalzi
40506c4283 Cleaned up distribution.json for mod toggle UI.
Removed the version from the module's name. The version can be retrieved
from the identifier and placed wherever desired.
Reorganized the modules to have the more popular/important mods listed
first. The order in which modules are declared is the order they appear
on the UI.
Updated the docs to make it clear that maven identifiers are required for
all modules not of type File.
2018-07-26 04:44:36 +02:00
Daniel Scalzi
e583133c8b Initial work on mod toggle UI.
This still needs a lot of work.
2018-07-26 04:44:36 +02:00
Daniel Scalzi
6e71cd6b46
v0.0.1-alpha.16 - Fixed download errors.
Fixed error 'self signed certificate in certificate chain'.
Disabled reject unauthorized in assetexec process.
Fixed error messages from assetexec to renderer.
Updated elctron-builder to v20.25.0.
2018-07-26 04:30:47 +02:00
Daniel Scalzi
810e81521c
Added eslint. To lint, npm run lint.
Linted the entire project. Using different rules for the script files
as there are a lot of undefined variables just because of the way the
DOM's global scope works.

Mostly just code cleanup, however the linter did catch a minor bug with
a settings regex. That has been corrected.
2018-07-22 13:31:15 -04:00
Daniel Scalzi
7dcce68455
Updated Distribution Index spec and impl.
Added distromanager.js to represent distro elements.
Moved all distro refresh code to distromanager.js.
Overhauled assetexec.js.
Overhauled handling of assetexec.js output in landing.js.
Overhauled events emitted by assetguard.js.
Improved doenload processing in assetguard.
Updated discord-rpc to v3.0.0.
Replaced westeroscraft.json with distribution.json.
Use npm in travis for windows + linux.
Remove file extension from imports.
Added liteloader + macromod + shaders to distribution.json.
2018-07-22 11:40:15 -04:00
Daniel Scalzi
6759b143c4
Show installing progress bar during extractions. 2018-07-02 02:24:13 -04:00
Daniel Scalzi
41aae0c418
Changed email to uuid on the account settings view.
I'm not a fan of showing a user's email on the UI.
2018-07-02 02:08:48 -04:00
Daniel Scalzi
3131002d02
Use full body skin render for the avatar image.
There's room for improvement here, but it works for now.
2018-07-02 02:01:28 -04:00
Daniel Scalzi
85331a7088
Added keyboard controls to the News UI.
On the landing view, the up arrow will open the News UI.
On the News UI, the left and right arrow keys will switch articles.

Thanks to aaronholtomcook/ElectronLauncher (26659f8c38)
2018-06-30 15:16:31 -04:00
Daniel Scalzi
aa0e1a20ca
Added initial support of liteloader + optional submodules.
Liteloader is loaded as a library, with special launch conditions being executed when it is enabled. Litemods are constructed into a mod list and passed to liteloader via the --modRepo argument.

The launcher now supports optional submodules. These are parsed recursively, there is no depth limit. Typically the depth will be only 2 as litemods are optional submoduless of liteloader.
2018-06-23 21:03:49 -04:00
Daniel Scalzi
145a2fe77b
Added initial support for optional mods.
Optional mods are stored by ID in the configuration. Their enabled state is stored here. The mod configurations are updated each time the distro index is refreshed. Configurations are stored by server id. If the id no longer exists (changed/removed), the mod configuration is removed. If new optional mods are added, they are added to the configuration. If they are removed, they are removed from the configuration.

Currently only top level optional mods are supported.
2018-06-23 15:17:26 -04:00
Daniel Scalzi
4196856d31
Fixed range slider rendering when value is out of range.
If the value of a ranged slider is out of range, the slider will snap to either 0% or 100%.
Reduced memory label margin to preserve sufficient spacing.
2018-06-21 21:04:10 -04:00
Daniel Scalzi
9769458499
Fixes for the overlay on the settings UI.
The background of the settings UI is set to transparent when the overlay is toggled.
The color of the frame bar has been adjusted to what it should actually be.
2018-06-21 20:54:07 -04:00
Daniel Scalzi
c0714ecbc6
Added functionality to avatar overlay.
Overlay changed from div to button.
Clicking on the overlay will bring you directly to the settings account tab.
Modified overlay background color.
2018-06-21 12:38:21 -04:00
Daniel Scalzi
2d0c4c76eb
Enhanced News UI.
Added a drop shadow so that the news no longer scrolls into nothing.
Tweaked several styles to make the UI look a lot better.
2018-06-20 09:12:44 -04:00
Daniel Scalzi
e2e48f6444
Enhanced the settings UI structure.
The left side of the settings UI now has a more comprehensive layout.
Settings tabs now scroll all the way to the frame bar. When the content is scrolled out of view, a drop shadow is displayed. This removes the awkward feel of content scrolling into nothing.
2018-06-20 07:38:53 -04:00
Daniel Scalzi
5a16416db5
Added about settings tab.
This tab displays information about the current version of the application. Release notes are fetched from GitHub's atom feed and displayed here as well.
2018-06-20 06:15:10 -04:00
Daniel Scalzi
e7752b4374
v0.0.1-alpha.12 - Completed Java Settings Tab.
Added JVM Options to the Java tab.
Small clean up for the Java tab's styles and bindings.
2018-06-14 06:09:09 -04:00
Daniel Scalzi
109c24bc79
Added option to change the Java exec to the settings UI. 2018-06-14 03:49:55 -04:00
Daniel Scalzi
b61a9a2c55
Tweaking memory range sliders.
Fixed minor issue where an extra tick was added.
The bar fill color now changes to yellow and red depending on how much memory is being allocated.
2018-06-12 03:48:36 -04:00
Daniel Scalzi
6ac48a63b5
Added memory management to Java tab. 2018-06-12 03:25:36 -04:00
Daniel Scalzi
db7ba0d450
Initial work on Java tab. Added custom range slider.
Also added two more settings tabs. These are experimental and subject to change.
2018-06-11 22:11:05 -04:00
Daniel Scalzi
08eb04775e
Added indication for when there is new news. 2018-06-04 23:08:03 -04:00
Daniel Scalzi
05fe516249
v0.0.1-alpha.10 - Hotfix for startup error. 2018-06-04 20:06:34 -04:00
Daniel Scalzi
50d85d30cc
v0.0.1-alpha.9 - Added option to enable/disable prereleases.
Added option to enable/disable prerelease updates.
Implemented launcher tab on the settings UI, as this is the only current value.
Added semver dependency.
2018-06-04 19:34:47 -04:00
Daniel Scalzi
790a3e0e8b
v0.0.1-alpha.8 - Implemented Minecraft Settings Tab.
Implemented minecraft settings tab.
Updated distro index documentation to reflext the file system overhaul.
2018-06-04 16:28:17 -04:00
Daniel Scalzi
0cc861f614
Overhauling file system structure.
Common files such as assets, libraries, and mods have been externalized into a 'common' folder. Each server now has its own instance folder to allow saving per version files. This resolves issues with resourcepacks and mod configurations being overriden, and still preserves our optimizations in storing libraries and mods maven style.
2018-06-04 00:17:20 -04:00
Daniel Scalzi
74a60a61c2
v0.0.1-alpha.6 - Finalizing the settings account tab.
Added a done button which closes the settings UI.
Displays a warning before the user logs out of the last saved account. If they proceed with the logout, they will be redirected to the login UI.
Added startup handling for when the user has 0 saved accounts. They will be brought directly to the login UI.
Accounts are now validated each time they are switched.
2018-05-30 23:32:51 -04:00
Daniel Scalzi
91c842dd40
Added UI and implementation for the account settings tab.
Features:
* Add a new account.
* Switch accounts.
* Log out of an account.

Also added a cancel button to the login UI which is only shown when a user is adding an account. In that case, the operation should be and is cancellable.
2018-05-30 22:22:17 -04:00
Daniel Scalzi
2dcbb45bdb
Further progress on settings UI.
Added a tooltip to the settings button on the landing UI.
Settings button now opens to the (incomplete) settings UI.
Added navigation bar to the settings UI.
Implemented tabbing between settings tabs.
More to come.
2018-05-30 16:00:07 -04:00
Daniel Scalzi
daa6faac86
v0.0.1-alpha.6
Fixed AuthManager sending incorrect client token to the auth endpoint.
Fixed minor issues with the validate selected function.
Fixed minor issue related to UI transitions.
Added account validations on startup and when account is switched.
Updated dependencies.
2018-05-29 21:47:55 -04:00
Daniel Scalzi
e9e2ec162a
Added settings container, updated dependencies. 2018-05-22 22:34:35 -04:00
Daniel Scalzi
a67dac23cf
Fixes related to offline startup.
Fixed incorrect function name for local distro index loading.
Fixed mojang tooltip not showing statuses when offline.
Added timeout of 2500ms to news loading, remote distro index retrieval, and mojang status loading.
Updates async to fix lodash vulnerability.
2018-05-22 08:41:22 -04:00
Daniel Scalzi
ba916aa953
v0.0.1-alpha.5
Added tooltip UI which shows the status of each Mojang service.
Updated dependencies.
2018-05-17 03:11:44 -04:00
Daniel Scalzi
f4abbef58c
Increasing version, various small fixes.
Fixed launcher.js not checking the correct return value when verifying the configured Java executable.
Removed debug logging from configmanager.js.
Updated dependencies.
2018-05-15 06:07:28 -04:00
Daniel Scalzi
71cbd109c4
Various fixes.
Fixed issue where news button could not be tabbed to when news UI is active.
Fixed incorrect java version sorting (now behaves as intended).
2018-05-15 02:30:26 -04:00