Add breadbug-gui and breadbug::session #33

Merged
Breadway merged 5 commits from feature/breadbug-gui into main 2026-10-20 10:56:01 +08:00
Owner

Windowed front end for breadbug (BREAD-20). Stacked on feature/breadbug-reload.

What it is

breadbug-gui [--app ID] is a GTK4 window with five pages: first-run notice, app pick, details (type plus optional notes), preview of the exact report, and a done page. Reports are built and sent off the UI thread. Sending stays off unless the user has turned it on, and the preview shows the same bytes that get saved or sent.

Included refactor

The save/send/queue logic moves into breadbug::session (new) so the CLI and the GUI share one tested path. The CLI save and send commands now call it. This touches breadbug/src/lib.rs and tests.rs.

Verified

  • Builds, clippy clean, breadbug (63) and bread-bug (32) tests pass, text.rs unit tests pass.
  • dev/walkthrough.sh OUT drives the real window in an isolated GTK Broadway display and writes PNGs. The pick and details pages rendered and the layout looks right.

Not verified

  • The consent and preview pages did not produce a screenshot in the walkthrough (the first snapshot returned nothing), so they have not been looked at.
  • Colors: Broadway has no compositor, so the shared bread theme does not bind and some text is low-contrast in the screenshots (white buttons and dropdown with unreadable text). That is a limitation of the headless check, not confirmed to happen on a real desktop. Needs one look on a real BOS session.
  • Not yet packaged in bakery.
Windowed front end for `breadbug` (BREAD-20). Stacked on `feature/breadbug-reload`. ## What it is `breadbug-gui [--app ID]` is a GTK4 window with five pages: first-run notice, app pick, details (type plus optional notes), preview of the exact report, and a done page. Reports are built and sent off the UI thread. Sending stays off unless the user has turned it on, and the preview shows the same bytes that get saved or sent. ## Included refactor The save/send/queue logic moves into `breadbug::session` (new) so the CLI and the GUI share one tested path. The CLI save and send commands now call it. This touches `breadbug/src/lib.rs` and `tests.rs`. ## Verified - Builds, clippy clean, `breadbug` (63) and `bread-bug` (32) tests pass, `text.rs` unit tests pass. - `dev/walkthrough.sh OUT` drives the real window in an isolated GTK Broadway display and writes PNGs. The pick and details pages rendered and the layout looks right. ## Not verified - The consent and preview pages did not produce a screenshot in the walkthrough (the first snapshot returned nothing), so they have not been looked at. - Colors: Broadway has no compositor, so the shared bread theme does not bind and some text is low-contrast in the screenshots (white buttons and dropdown with unreadable text). That is a limitation of the headless check, not confirmed to happen on a real desktop. Needs one look on a real BOS session. - Not yet packaged in bakery.
The GUI walks consent, app pick, details, preview and send, building and
sending reports off the UI thread. The send/save/queue logic moves into
breadbug::session so the CLI and GUI share one tested path.
dev/walkthrough.sh renders each page to PNG in an isolated Broadway display.
test(bug): serialize session capture test with the capture lock
Some checks failed
check / check (push) Has been cancelled
473531cfbe
Merge branch 'feature/breadbug-reload' into feature/breadbug-gui
All checks were successful
check / check (push) Successful in 26m59s
52b25724d8
Breadway changed target branch from feature/breadbug-reload to main 2026-10-20 10:55:55 +08:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/bread!33
No description provided.