MushRog

Your account, under your control

October 15, 2026 designarquitetura

You can now stay logged in on a device without typing the password every time, export your own data and delete your account from inside the game. We also made every panel finger-sized.

Why

Deleting the account inside the app is an Apple requirement, and exporting data is a right of the people who play (LGPD). We’d rather do this before the beta than chase it afterward. And a panel with 4 mm buttons on a phone scares anyone off in the first session.

How it works

At login, the “Keep me logged in on this device” option stores a key that belongs to that device alone. The server keeps only a fingerprint of it, never the key itself. Each account can have up to 5 devices, a key unused for 30 days expires, and logging out from the Menu deletes the key.

In Options > Account, “Export my data” has the server put together a file with everything that’s yours: characters, teams, bag, equipment, storage, guild and market listings. The password never goes in it. To delete the account you type your username to confirm, and it really goes away: you leave the guild, the listings come off the market and the username becomes free again.

In town, you can use tomes and spend points on any character on the account, not just the ones on the current team, as the design always intended.

The Blacksmith, Kitchen, Storage, Market, Trade, Star shop and Guild panels got the new frame. Buttons and rows are at least 32 px, main actions 44 px, and the reason a button is disabled is written out, with no need to hover. The bottom bar and the top strip got icons from Kenney, which are public domain (CC0).

Next step

A sharp screen on phones and an optional joystick in the room.

Changes

  • feat(account): roster tomes, device tokens, delete and export account

    Item 30: use_tomes, add_stat and ascend accept any character of the account outside a room (equip and skills stay team-only); the inventory view carries v["roster"] with char_view + derived for every character outside the team. Character > Status gets an "Outros" picker in town. Item 32: opt-in "Manter conectado neste aparelho" on login. The server issues a device token (account id + 32 random bytes, only SHA-256 stored, label from platform, max 5 per account, expires after 30 days unused); the client keeps it in user://device.cfg per server and "Jogar" logs in with rq_device_login. Logout revokes it (rq_revoke_device, flushed before closing); rq_revoke_all_devices exists for a future password change. Banned accounts are refused. Item 33: Options > Conta exports the account's own data (no hash, salt or device hashes) to user://export_<username>.json and deletes the account after typing the username: leaves the guild, drops market listings, revokes sessions, frees username and e-mail, disconnects and logs "account_deleted" in the audit without personal data. PROTOCOL 20. Unit tests for device tokens and delete freeing the username; loot_test covers roster tomes in town vs room, remember/device login/revoke/ban, export, delete and registering the same name again.

  • Port old service panels to UIPanel; add Kenney icons to the bar

    Item 26 (touch sizes): Smith, Kitchen, Storehouse, Market, Trade, Gacha and Guild now extend UIPanel and use the standard 624x324 frame with the 32x32 close X. List rows and buttons are at least 32 px tall, primary actions (gacha pulls, trade lock/confirm/cancel, guild create/leave) are 44 px, body text is 10 and titles 12. Disabled-button tooltips became in-panel text. Market gets Browse/Sell tabs; the Kitchen opens on the spice tab from the Shop. Panels with live inputs (market, trade) keep their fields across server pushes by overriding refresh(). The trade invite still shows with the window closed. main.gd registers the panels directly in UiRoot, so PanelAdapter and _toggle are gone. UIPanel gains pin_top/pin_bottom/head_add and small widget helpers. Item 35 (icons, partial): Kenney CC0 icons (Board Game Icons, Game Icons, Game Icons Expansion) in assets/icons/ at 48 px, plus a speech bubble drawn by script. They sit above the 9 px labels on the 8 city bar buttons and Chat/Menu in rooms (badges kept), and on the key, gold and food chips. Equipment slots still have no icons. Registered in CREDITS.md.

← Back to the devlog