diskOS Disco! 1.4.1
Fixes for eight problems reported by ingvarr777, plus a round of interface
polish. Thank you, ingvarr777, for the careful, well-documented reports
(#1–#8).
Important
1.4.1 needs a reflash. Some fixes are in the boot script that checks and installs SD updates. That
script lives in the flashed system, so an SD update alone can't deliver it. Flash once with the installer
(keep your existing --ota-key; see Install), then use SD updates as before.
Your music, settings and keys stay. An SD update to 1.4.1 without reflashing still brings the interface
fixes, but not the update-safety fixes listed under "Updates".
Security
- MA Sendspin: a malformed network message could crash the Disc's Sendspin helper or worse. A crafted
WebSocket frame length bypassed the size checks and overflowed memory in the helper, which runs as root. Anyone on
the same network could send it while MA Sendspin was on (in Auto mode, any device can answer as "Music
Assistant"). Lengths are now checked as unsigned and capped at 16 MB, and memory growth is checked. Affects
every earlier release with MA Sendspin (1.1 to 1.4.0). Until you update: turn MA Sendspin off, or set its Server
to your Music Assistant's address instead of Auto. Reported privately by
ingvarr777; thank you.
Updates (SD card and boot)
- Every SD update after the first one rolled back. The interface couldn't read the boot record once a kept
build existed, so it never confirmed a trial. Fixed (#8). - The first SD update after a fresh flash was thrown away. The flashed build is now recorded on the first
boot (#7, reflash). - A trial that couldn't count its boots (full data partition) never rolled back. It now rolls back (#7, reflash).
- A build that couldn't be checked for a moment was deleted as if tampered with. It's now kept and checked
again next boot (#7, reflash). - A build that rolled back before is refused when you stage it again, with a clear message instead of a silent
drop (#7). The install log is capped, and a leftover rejected copy no longer blocks reinstalling.
Stability
- Freezes during scans and when playback starts. The screen no longer asks the database about the playing
song on every frame, and never waits on it for more than 50 ms (#1). - Silent hangs and kills. An internal graphics error now stops the interface with a crash line in the log
instead of freezing it; cover decoding only uses the memory the Disc can spare (#2). - Pop-ups no longer outlive a back swipe. The hold menu, the file confirm and folder picker, the EQ number pad
and "Add lyrics & artwork" close when the screen changes, so they can't act on the old item (#6).
Library and files
- Opus/Ogg and FLAC files with large embedded covers showed the file name and "Unknown artist". Their tags are
now read in full, without loading the cover. Rescan to fix existing entries (#3). - Tags: one cover written into every album. A fetched cover is now used only within its own album and folder;
same-named albums by different artists get their own (#4). - Tags: lyrics re-written on every play. An unsynced .lrc beside a song no longer hides its own synced
lyrics (#4). - Rename and move keep favourites, play counts and audiobook bookmarks, long names are no longer cut, and a
folder can't be replaced by something inside it (#5).
Interface
- Quick Settings: List and Arc. "Current" is now called List, and its rows curve and sit like the
Library's, stopping short of the music disc. - Wider Music screen. The title, artist and progress line use more of the screen.
- Library lists: rows packed a little tighter, text one size larger at every Font Size.
- Navigation circle gestures moved to Disco Options › Layout, with four new choices: Volume, Screen off,
Play/Pause and Next track. - "Restarting the screen – your music keeps playing" shows before every setting that restarts the screen.
- A one-time tip for the Shortcuts swipe, and the Music option "Track Number" is now Number Before Title.
Install
- Reflash with the installer:
payload/mq_uiand the updated boot script are in the repository and the
release's source download. Use your existing update key (--ota-key) so SD updates keep working. - Already reflashed? Later builds install from the SD card as usual (guide).
- Disc Shelf 1.0.4 and Album Roulette 1.3.1 are unchanged and installed separately.