DKR-R v1.0.9 Lobby Stability Playtest 3
Version: 1.0.9-stability-playtest.3

WHAT CHANGED
Keep downloaded mods for offline play can remain enabled. Verified content
already installed under the same logical identity is reused without replacing
its files, label, activation, visibility, settings or saves. Different source
patch containers, labels and preparation receipt encodings no longer create
false conflicts on their own.

Only selected, missing mods are kept. A multi-mod preparation group is trimmed
into a new immutable receipt containing those missing entries; unrelated and
already installed entries are not copied into the offline catalogue again.
New offline copies start disabled. Repeated joins do not create duplicates.
Actual semantic conflicts, corrupt assets, unsafe paths and storage failures
still stop the optional copy operation while the admitted session remains usable.

The Open Lobbies main column is now reserved for lobby listings. Join as and
Browse lobbies sit beneath the account details in the right sidebar. Before
you race sits beneath Your online view and above Online guide, with wrapped
readiness rows and a full-width control-profile selector. Smaller windows
keep the lobby filters above the list so they remain easy to reach.

All playtest.2 race-start, spectator, mod admission, transfer retry, cache,
bootstrap, music and save fixes are retained. Existing launcher styling and
control actions are retained. These local-storage and presentation changes
do not change the playtest.2 online protocol or peer identifiers. Use matching
playtest.3 builds for this test.

INSTALL
Extract the entire Windows ZIP into a new folder and run DKR-R.exe.
On Linux make the x86_64 AppImage executable and launch it normally.

PLEASE TEST
1. Leave Keep downloaded mods for offline play checked and join the same
   modded lobby several times, including lobbies with renamed/repacked copies
   of characters or tracks you already have installed.
2. Join a lobby containing both existing and new mods. Check the new mods
   appear once in your offline library and start disabled.
3. Check previously enabled, disabled and hidden mods retain their settings,
   labels and saves. Return to offline play and activate a newly kept mod.
4. Keep the race-start regression test: two racers and a spectator, character
   selection, Track Select, a complete race, another track and another race.
5. If copying fails, send the complete runtime.log from that client. The log
   now reports reused content and new groups, with a named mod for actual
   integrity/semantic failures.
6. Open Lobbies: check Public/Friends and Racer/Watch Race, the Magic Codes
   link and control-profile selector. Resize the launcher and check the
   sidebar is reachable by scrolling and the selectors fit smaller windows.

VALIDATION
Synthetic retention tests exercise the real production keep helper and real
catalogue scans using tiny generated files. No ROM, game, RSP or AppImage is
executed by those tests. Physical multiplayer and offline mod play still need
the manual checks above. No website/API deployment or updater signing needed.
