The previous edit inserted the new npm ecosystem entry at the wrong
YAML indentation level, leaving /assets with an empty ignore list
and nesting the s3-browser entry incorrectly.
Fix: restore the live_toast ignore under /assets, and add
.pi/extensions/s3-browser as a proper top-level updates entry.
Phoenix.PubSub must be initialized (creating its internal Registry)
before Oban starts processing jobs. With one_for_one strategy,
children start sequentially; previously Oban was started first,
causing 'unknown registry: MusicLibrary.PubSub' errors when a
job called broadcast before PubSub was ready (error #3891).
Replace phx-click server event with Fluxon.open_dialog for zero-latency
modal opening. The modal DOM is now always present (no :if conditional) so
it can be shown instantly; the server syncs state in the background.
Fix test selectors that now match the always-present modal form by scoping
to forms without phx-target (which the modal form always has).
Add Presto companion display to architecture overview. Document collection API cover sizes (cover, thumb/480px, mini/150px, micro/40px). Update PubSub topic table and LiveView conventions for handle_params subscription management. Bump Node.js version from 25 to 26 in production infrastructure.
Subscription management was only done in mount/3, meaning
navigating to a different record via handle_params/3 left the
old subscription active. A background update for the old record
would then overwrite the currently displayed record.
Fix: manage subscriptions in handle_params/3 (unsubscribe old,
subscribe new) via shared RecordActions.manage_subscription/2,
and guard handle_info({:update,...}) against mismatched IDs.
- Fix tuple touch normalization when pressed state is falsy
- Reconnect WiFi before retrying failed record loads
- Redraw on wake only after successful reconnect
- Remove unused STATE_ERROR and _visible_count state
- Remove ignored row-bottom return from record row drawing
- Share wrapping logic and collapse repeated whitespace
- Align drag threshold handling with scroll redraw delta
- Close jpegdec objects when firmware exposes close()
- Add timeout to wait_for_touch_release()
- Document intentional no-op behavior for record row taps