|
|
e927fff02f
|
feat: add selfupdate module (check, apply, restart)
- Check: query /api/launcher/latest with os/arch, compare versions
- Apply: download new binary, verify SHA-256, replace current executable (Windows .old rename)
- Restart: re-launch executable and exit
- Uses stdlib only (no external update library needed for direct URL downloads)
Co-Authored-By: OWL <noreply@anthropic.com>
|
2026-05-26 12:39:38 +03:00 |
|
|
|
5f4ff47ce7
|
fix: use atomic operations for concurrent download progress counter
Co-Authored-By: OWL <noreply@anthropic.com>
|
2026-05-26 12:16:44 +03:00 |
|
|
|
c06c205b7b
|
feat: add launch module (manifest, interpolation, process exec)
- manifest: Manifest struct (files, launch config, server info), LoadManifest, LibraryFiles/ModFiles filters
- launch: Game struct (Prepare/BuildCommand/Start lifecycle)
- Prepare: download manifest, resolve Java, sync files with SHA-1, soft-delete unknown mods
- BuildCommand: classpath assembly, variable interpolation (, , etc.), authlib-injector injection
- Start: execute the assembled command
- interpolate: template replacement
- cleanupUnknownMods: moves untracked mods to mods_backup/
Co-Authored-By: OWL <noreply@anthropic.com>
|
2026-05-26 11:49:51 +03:00 |
|
|
|
1487360215
|
feat: add UI layer (theme, components, screens, main window)
- theme: MinecraftTheme — dark palette with green accents
- components: ServerCard, ProgressBar, PlayButton, SettingsButton, LogoutButton, AvatarImage
- screens: MainScreen (BorderLayout: sidebar + center + bottom bar), LoginScreen (modal form), SettingsScreen (RAM slider + JVM args)
- ui.Launch: wires theme, session, settings into Fyne app
- main.go: delegates to ui.Launch, loads config
- fix: nil-session guard in MainScreen username display
Co-Authored-By: OWL <noreply@anthropic.com>
|
2026-05-26 11:22:41 +03:00 |
|
|
|
070b5c0262
|
feat: add config, auth, fetcher, java modules
- config: OS-specific paths, launcher.json load/save, DefaultSettings with MRIXSCRAFT_SERVER_URL env override
- auth: Yggdrasil client (authenticate, refresh, validate), session persistence in session.json, EnsureValid flow
- fetcher: HTTP download with SHA-1 verification, WorkerPool for concurrent downloads
- java: JRE detection (IsInstalled/Find), platform-specific executable name
- utils: SHA1File, SHA1Bytes, Unzip with zip-slip protection
- cmd/launcher: wire config + auth into main, session restore on startup
Co-Authored-By: OWL <noreply@anthropic.com>
|
2026-05-26 06:35:09 +03:00 |
|
|
|
320f009658
|
chore: initial project structure
|
2026-05-23 17:53:50 +03:00 |
|