Show error ID after status label in list view. Add 'c' shortcut to copy error ID from list and full stacktrace from detail view. Replace Enter-to-copy-line with 'c' copy stacktrace in detail. Show error reason in detail header instead of kind.
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