Henry Le Grys
87c0bb4a83
Add creator tools plugin to Curse plugin
2021-12-05 21:49:20 +00:00
Henry Le Grys
e0a242cedc
Move curse plugin to separate project
2021-12-05 21:49:20 +00:00
Henry Le Grys
a48dbf8ed9
Start implementing experimental curse plugin
2021-12-05 21:49:19 +00:00
Henry Le Grys
be299164de
Basic plugin loading framework
2021-12-05 21:49:19 +00:00
Henry Le Grys
8612b951e1
GH-443 Switch to using JNA Platform for Windows registry access
2021-12-05 21:38:18 +00:00
Henry Le Grys
15cbc5ac03
GH-443 Fix the undetected runtime file chooser dialog opening early
2021-12-05 20:35:59 +00:00
Henry
777d430ace
GH-443 Fix registry reading under Java 8 ( #447 )
2021-11-15 01:32:11 +00:00
Magi1053
b3cbba2709
Fix not checking all registry keys for jvm if the previous key did not exist in the registry.
2021-11-14 19:19:16 -06:00
Henry Le Grys
8271c83162
GH-443 Add logging on registry read failures & fix default search path
...
Fixes the default launcher path used when reading the registry fails
somehow.
2021-11-03 19:45:46 +00:00
Henry Le Grys
4dad66a83e
Attempt to solve Windows Java finding failing to find MC folder
2021-10-27 01:56:52 +01:00
Henry Le Grys
932ef97be6
GH-440 Fix NPE generated by config dialog when no runtime is configured
2021-10-25 20:09:54 +01:00
Henry Le Grys
d1184c32b2
Add option to Java selection dropdowns to choose a runtime from path
...
Bit of an experiment, but this commit allows users to manually find
a Java runtime on the filesystem and save it to config
2021-10-16 00:44:40 +01:00
Henry Le Grys
cd063304fb
Fix Java version parser to tolerate missing minor version
...
Some (all?) Java 17 release files don't have the minor version present,
so a previous assumption no longer holds.
2021-09-27 22:16:34 +01:00
Henry Le Grys
9bd7df4d3c
Tolerate missing terminating newlines in Java release files
...
Had a report out in the wild of a release file that doesn't end in a
terminating newline, which was causing the parser to blow up.
This commit relaxes the parsing to tolerate EOFs while parsing values.
2021-09-27 21:21:46 +01:00
Henry Le Grys
1c663e1c04
Fix java runtime finder breaking when encountering a bad release file
...
Rather than blowing up when a release file can't be parsed, log it and
move on. Hopefully a better runtime comes along.
2021-09-27 21:10:32 +01:00
Henry Le Grys
5c3768f1cf
Always use proper local libraries folder path
...
There were a couple places where I relied on the manifest to have
the default libraries location of "libraries"; this commit fixes those
instances. Without this fix it would be possible for a custom libraries
URL path to leak into the local filesystem, which might've mucked
something up.
2021-09-04 00:34:09 +01:00
Henry Le Grys
215b7871e7
Add FUNDING.yml
2021-09-03 09:09:04 +01:00
Henry Le Grys
7c783189dd
Add support for Forge 1.17 processors
2021-09-02 06:56:57 +01:00
Henry Le Grys
eda5ad2a90
Bump launcher version to 4.6
2021-09-02 03:25:36 +01:00
Henry Le Grys
6b2bcea5d7
Add menu item for pack manager for editing instance settings
2021-09-02 02:47:35 +01:00
Henry Le Grys
faa1bc9a38
Add instance settings dialog
2021-09-02 01:59:15 +01:00
Henry Le Grys
e12eec29b5
Update launcher settings dialog with new runtime selection dropdown
2021-06-19 23:04:56 +01:00
Henry Le Grys
2ff147fc10
Start implementing per-instance settings & better Java runtime selection
2021-06-15 04:44:52 +01:00
Henry Le Grys
5b742bc1a1
Fix hidden error if request was never even started
...
If a HTTP request failed to even connect, then the logic determining
whether to retry a partial download would inadvertently throw an error
before it could re-throw the causing error, which resulted in a
confusing error dialog.
2021-05-29 17:38:24 +01:00
Henry Le Grys
b7be91bc9c
Automatically show login dialog when session expires
...
Previously it just gave an unhelpful error message; now it pops up
the login dialog again. Also, the duplicated accounts bug should be
fixed!
2021-05-24 13:17:11 +01:00
Henry Le Grys
f23d387609
Fix bad logic surrounding download resuming
...
An oversight in the implementation of partial download resumption led
to cross-contamination in the presence of multiple request URLs, where
an `Accept-Ranges` header from one server would cause a `Range` header
to be supplied to the next. Compounded with a bad ternary expression
in `HttpRequest` which couldn't handle non-200 success codes, this
was causing cryptic "Stream closed" errors on library downloads.
2021-03-31 22:22:00 +01:00
Henry Le Grys
f7bbe82dfb
Fix potential NPE with partial redownloads if connection never completes
2021-03-31 19:14:17 +01:00
Henry Le Grys
c3b1e51a51
Fix bad URL decoding & reformatting in HttpRequest
2021-03-28 03:22:44 +01:00
Henry Le Grys
9b1bae32d9
Add some comments to launcher.properties
2021-03-26 19:17:11 +00:00
Henry Le Grys
1219ff5cbc
Add donation links to README
2021-03-14 21:53:52 +00:00
Henry Le Grys
831ecfd392
Make gradle clean
trigger a clean of all subprojects
2021-03-14 18:36:00 +00:00
Henry Le Grys
cdb32a3fe7
Fix NPE in HttpDownloader if server does not send Accept-Ranges header
2021-03-10 13:17:55 +00:00
Henry Le Grys
cf7e12b4d1
Only append to partially downloaded files if HTTP response is a 206
2021-03-10 01:31:31 +00:00
Henry Le Grys
4552b76465
Fix Updater to only download additional loader files once
...
Previously the launcher was downloading these files once for every
processor due to code architecture limitations. By moving the download
queueing step into BaseUpdater we ensure they are only downloaded once.
2021-03-10 01:13:27 +00:00
Henry Le Grys
ae6fb109e5
Add support for continuing partial downloads
...
If the server offers byte-range requests & the request fails, we retry
with a Range header to continue the download where it was interrupted.
2021-03-10 00:01:16 +00:00
Henry Le Grys
4da80dfae0
Throw an error if HTTP file transfers are cleanly closed early
...
It seems that some HTTP servers can silently close the connection before
the file has finished transferring. Since we count the transferred bytes
anyway, throw an exception if we didn't get the number of bytes the
server previously told us to expect.
2021-03-09 20:14:16 +00:00
Henry Le Grys
8a2b566b18
Make button widths equal in account selection dialog
2021-02-28 02:47:01 +00:00
Henry
3a93e9f39a
Style Account Select dialog ( #402 )
2021-02-28 02:33:45 +00:00
Henry Le Grys
3fdfb3cf70
Ignore unknown properties when deserializing LatestVersionInfo
2021-02-27 22:57:08 +00:00
johnfriedrich
e2fde95c25
Style Account Select Dialog
2021-02-19 22:58:50 +01:00
Henry Le Grys
daa955fac6
Remove packed check from launcher self-updater
2021-02-19 03:18:24 +00:00
Henry
dd3f4e7290
Add User-Agent to news page HTTP requests ( #401 )
2021-02-19 03:09:22 +00:00
Henry Le Grys
ef1572fd1b
Remove packed check from bootstrapper
...
Introducing that packed flag was a mistake tbh
2021-02-19 03:07:29 +00:00
David Lohle
4703b0dede
Add User-Agent to news page HTTP requests
...
Cloudflare, and some other MITM proxies consider the default Java HttpURLConnection
from Java 1.8 to be an invalid, unsafe request and reject it. This leads to CF returning a
403 on request. This commit adds the same User-Agent that's applied to the other calls, so
that those that front their SKMC launcher news page with Cloudflare can have successful
page loads.
2021-02-18 21:36:03 -05:00
Henry Le Grys
660fb40c44
Fix weird Lists import from internal jcommander package
2021-02-18 23:30:14 +00:00
Henry Le Grys
5d5a462387
Switch to using Minecraft services as skin provider
...
We do some local processing to draw the head of the skin in 32px
resolution.
2021-02-18 22:39:51 +00:00
Henry Le Grys
fd78863697
Make skin service return null on error
2021-02-18 21:22:58 +00:00
Henry
4177c15675
Redesign login dialogs & support new Microsoft logins ( #398 )
2021-02-17 01:15:39 +00:00
Henry Le Grys
c8bc7f68c6
Bump launcher version to 4.5
2021-02-16 22:20:10 +00:00
Henry Le Grys
8eb66d4c67
Clean up error reporting for Minecraft API authentication
2021-02-16 22:16:42 +00:00