diskOS Disco! 1.4.0
Replacement for the unpublished first 1.4.0 candidate. Install this newly signed binary even if About already says 1.4.0; compare the SHA-256 in payload/mq_ui.build.json.
Interface
- QS List and Working Modes follow the free edge, with shorter middle mode caps away from the navigation flyout. The font stays consistent across each list. Left mirrors Right.
- Back keeps its 64px strip plus a 4px protection gutter. Wi-Fi/BT positions and On/Off indicators are retained; QS Arc is retained.
- Disco is first in the theme picker, followed by Ring, Braun and Stone. Progress Shape is in Disco Options > Layout.
- Battery uses a 344px open gauge around the nav side: Right has 100% at the upper right, decreasing counter-clockwise to 0%; Left mirrors it. Centred heading, larger time estimate, themed totals below the gauge.
- First-use hints, configurable open-nav hold/double-tap, editable QS items/styles and all previous 1.3.1 polish remain included.
Responsiveness and stability
- EQ profile and editor reads use one sleeping worker and isolated read-only SQLite connections with a 50ms lock timeout. Stale profile requests cannot replace a newer choice. Editing stays disabled while loading or on read failure.
- Album colour travels with the artwork result. The UI no longer reads SQLite for the current album colour during track changes or artwork delivery. Best-effort cache writes follow publication.
- Superseded artwork is discarded before large preparation allocations. Clear/no-track frees pending results. Only Disco allocates the optional tint buffer, and preparation falls back to existing static-buffer loading when it would leave less than 6 MiB of available RAM.
- QS and mode actions use the common moving-press guard: a swipe cannot also activate the pressed control on release.
- Polish9's sharp artwork cache, worker pixel preparation, faster pending-result polling, background play-history writes and visible-only Song Info reads are retained.
Optional apps
Disc Shelf 1.0.4 (owner device-tested) and Album Roulette 1.3.1 remain separate apps. The complete ZIP contains their binaries, corresponding sources, licenses and installation instructions. Updating mq_ui alone does not install them. Private signing keys, Navidrome credentials and FiiO firmware are not distributed.
See Disc Shelf installation, Album Roulette installation and signed SD updates.
Validation
Host checks cover real SQLite contention, latest-request handling, low-RAM preparation admission, play-history locking, rapid album changes, label fit, both sides/appearances and QS swipe cancellation. The MIPS build is checked for static linking, MIPS32r2 FP64 and NaN2008.
The combined replacement UI still needs device acceptance. The earlier automatic restarts have not been conclusively attributed to a fatal signal or OOM; these fixes address confirmed blocking paths and memory/gesture risks, not a proven explanation for every restart.