99 lines
4.4 KiB
Markdown
99 lines
4.4 KiB
Markdown
# 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/`)
|