minecraft-launcher/CHANGELOG.md
2026-05-04 14:12:26 +01:00

99 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Changelog
All notable changes to the racked.ru launcher (PrismLauncher fork).
## [Unreleased] — 2026-04-30
### News feed
- `Launcher_NEWS_RSS_URL``https://racked.ru/feed.xml` (was `prismlauncher.org/feed/feed.xml`)
- `Launcher_NEWS_OPEN_URL``https://racked.ru/news`
- News toolbar **hidden by default** (`Application.cpp` post-restoreState `findChild<QToolBar*>("newsToolBar")->hide()`). Re-enable via View menu
### Default settings (ported runtime cfg → source defaults)
| Setting | Old | New |
|---|---|---|
| `MinMemAlloc` | 512 | 384 |
| `MaxMemAlloc` | `SysInfo::defaultMaxJvmMem()` | 4096 |
| `MenuBarInsteadOfToolBar` | false | true |
### Window geometry baked defaults
First-run windows open at user-tested sizes:
- Main: 346×265
- New Instance dialog: 1112×507
- News dialog: 799×499
- Console: 782×705
- Paged settings: 871×649
(`Application.cpp` registerSetting blobs replace empty-string defaults.)
### Status bar redesign
**Per-instance (left) — `MinecraftInstance::getStatusbarDescription()`:**
- Dropped `Minecraft <version>` prefix (already shown on instance card)
- Dropped redundant per-instance "total played for X" (global widget covers it)
- Absolute timestamp `28/04/2026 14:15` → relative `2d ago`
- Comma separator → em dash `—`
- Duration: `3h 24min` → minutes only `204 min` (server parity)
**Global (center):**
- `Total playtime: 16h 26min``Total: 986 min` (minutes only)
**Result:**
```
Before: Minecraft 1.21.10, last played on 28/04/2026 14:15 for 3h 24min, total played for 16h 26min Total playtime: 16h 26min
After: last played 2d ago — 204 min Total: 986 min
```
**New helper:** `Time::relativePast(QDateTime)` in `MMCTime.{h,cpp}` — buckets `just now`, `Nm/h/d/w/mo/y ago`.
`Time::prettifyDuration` "min"/"m" suffix shortened to `m` (only call site is status bar).
### Help menu cleanup
Reddit + Discord + Matrix entries → single **Website** entry pointing at `https://racked.ru`.
- `MainWindow.ui`, `MainWindow.h`, `MainWindow.cpp` — actions/slots/handlers consolidated
### First-launch UX
If `accounts->count() == 0` on startup, show offline-username dialog (skip-able). Hooked at end of `MainWindow` ctor via `QTimer::singleShot(0, ...)`.
### ChooseOfflineNameDialog cleanup
- Window title: `Choose Offline Name``Pick a username`
- Removed `Allow invalid usernames` checkbox + slot
- Removed `Message label placeholder` body label
- Constructor still takes `message` arg for ABI compat (now unused via `Q_UNUSED`)
- Validator unchanged: `[A-Za-z0-9_]{3,16}`
### Bloat strips
**Source-side (~4M removed, ~2M off compiled binary):**
- `.github/` (136K)
- `tests/` + `BUILD_TESTING` block in root `CMakeLists.txt` (928K)
- `nix/`, `flake.nix`, `flake.lock` (28K)
- `launcher/resources/multimc/` icon theme (3M)
**multimc → racked_ru migration:**
- 71 instance icons (32x32, 50x50, 128x128, scalable) copied into `launcher/resources/racked_ru/`
- `racked_ru.qrc` extended with `prefix="/icons/racked_ru"` resource block
- `Application.cpp:950` instance icon paths repointed `multimc``racked_ru`
- `ThemeManager.h:94` `builtinIcons{"flat_white", "multimc"}``{"flat_white", "racked_ru"}`
- `launcher/CMakeLists.txt:1284` dropped `resources/multimc/multimc.qrc` from `qt_add_resources()`
- `launcher/main.cpp:56` dropped `Q_INIT_RESOURCE(multimc);`
**Runtime-side (`/home/admin/ai-lab/_projects/_minecraft/launcher/`, ~200M removed):**
- `java/java21.tar.gz` (extracted leftover): 198M
- Syncthing `*sync-conflict*` files: ~340K
- `cache/*` wipe: 5.5M
### Project relocation
Moved source from `_projects/_minecraft/source/``_github/minecraft-launcher/` (sibling pattern to `_github/minecraft-server`). Runtime build target stays at `_projects/_minecraft/launcher/` for daily-driver testing. Existing `.gitignore` excludes `build-*`, `install-*`, `release/`.
### Documentation
New docs in `docs/`:
- `SETTINGS_AUDIT.md` — runtime cfg vs source defaults diff
- `NETWORK_AUDIT.md` — full endpoint inventory; zero telemetry confirmed
- `BLOAT_AUDIT.md` — strippability tiers
- `CHANGES_2026-04-30.md` — pre-changelog session notes (superseded by this file)
---
## Pending
- Replace placeholder `s8n-ru/minecraft-launcher` repo URL with real GitHub slug
- Stand up `https://racked.ru/feed.xml` (RSS feed) so news pane populates
- Decide: ship `accounts.json`-free portable release (already clean in `release/`)