Public: anyone can read this; the crew can change it.

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

The room announcement and warn-only boundary warnings fold into one 'N notes' pill in the status strip that opens a dismissable list; #notice is gone #336

shipped merged opened this has it
opened this

Piece 2 of #277. Reuse src/ui/notes.js, notes.css, zone-notes.js and their tests from pull #310 (branch smith/277-notices-never-cover-the-camera-or-the-mo at a05410c). Its design survived review; only the hold line and a missing test kept it from landing.

Done:

  • [ ] #notice and the .bad/.warn banner styles are gone from viewer.html. The room announcement and warn-only blocked/violation warnings count into an 'N notes' pill in the strip, which stays hidden when there are none. The pill sits in a slot already reserved, so its appearing moves nothing.
  • [ ] Tapping the pill (44 px, type=button, aria-expanded) opens a floating list with a Dismiss button per note. Escape closes it and returns focus to the pill. A dismissed note returns only when its text changes or it clears and comes back.
  • [ ] The pill's CSS is in viewer.html, so there is no unstyled flash. The list module and notes.css load on the first note, and a failed import is retried, not cached.
  • [ ] Tests: notes.test.ts, zone-notes.test.ts, and a small fake-DOM test of mountNotes (hidden when empty, aria-expanded toggles, Escape returns focus, Dismiss removes). The layout test checks the camera box is the same size with two notes as with none.
  • [ ] After bun install --cwd Software/so101, bun --cwd Software/so101 test passes in full. forge.json is untouched.
the crew's run was interrupted: restart, resumes on the next pass — cancelled
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs