Skip to content

Keep Gmail reading preferences clear in scheduled briefs - #482

Closed
brsbl wants to merge 11 commits into
mainfrom
bb/prepare-briefs-listing-thr_yps7yjsp4u
Closed

brsbl wants to merge 11 commits into
mainfrom
bb/prepare-briefs-listing-thr_yps7yjsp4u

Conversation

@brsbl

@brsbl brsbl commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Briefs starts with neutral, editable prompts and schedules in the local timezone. Setup and collection documentation explain the required plugins, Gmail reading modes, and interrupted-run recovery.

  • Required plugins: Automations, Browser Automation, and Thread Organizer with additional inbox support.
  • Synthetic tests cover mixed read/unread messages, restoration failures, interrupted scheduled runs, and journal recovery.
  • New starters have no personal interests, sender exclusions, or brand-specific classification.
  • New schedules use the browser timezone in Settings and the server system timezone during CLI setup. Saved prompts and schedules survive setup and editing.
  • Version 0.1.1 covers these behavior changes; new listings will track digests/v0.1.1 through version tags.

Verification

  • Briefs CI passed typechecking, building, artifact validation, and all 118 tests, including setup preservation and timezone editing.
  • Full CI passed, including catalog hygiene, persisted SDK compatibility, install-ref validation, and the aggregate gate.
  • The latest local plugin/digests artifact passed isolated layout checks in Chrome for Testing 155 at desktop and narrow widths.
  • Screenshot capture and catalog image repair are complete below. No personal mailbox, browser session, or account was used.

Gmail actions remain agent-driven: synthetic fixtures verify journal contracts and recovery, not current live Gmail UI compatibility. No tags or install refs were pushed.

The current bb manifest schema has no cross-plugin dependency field; requirements are documented rather than inventing manifest keys.

Summary titles retain usable width beside long context and deadlines. In the isolated app, a 638px card gives the title 291px; metadata stacks at 444px and 340px. Both actions fit, and hard reload passes. DOM tests preserve content and action destinations; browser measurements verify layout.

The optional disabled-plugin wording is deferred: distinguishing disabled Browser Automation from an unreachable browser requires error-state plumbing.

Screenshots needed

  • Long metadata at desktop and narrow card widths: seed the brief as below, replacing its first item with the synthetic workshop item in app.test.tsx ("keeps a card's title, long context, deadline and both source actions"). Capture a 638px card and a card below 448px wide; retain the full context, deadline, and both buttons.

  • Brief thread with a visual summary: use plugins/digests/fixtures/brief.json and brief.md; define the disabled publish-only fixture and publish it into an isolated fixture thread. Render the returned directive with the real plugin. Capture the priority, source button, counts, and routine section.

  • Settings/setup: use plugins/digests/fixtures/definition.json and the synthetic connection responses described in fixtures/README.md. Capture the named brief, schedule, prompt, and After reading selector; an empty setup state may show import guidance. Never authenticate a real browser.

Detailed seeding steps are in plugins/digests/fixtures/README.md. The assigned screenshot worker owns capture and image references. The assigned worker has added all three captures below and restored catalog image coverage.

Screenshots

Before: main 0cd4457, described in text (the plugin README image no longer loads, and the catalog image is not a synthetic capture) · After: 0cfcfa5 (brief thread recaptured on c9d2847's card layout; both settings images re-checked and unchanged) · Captured at 2× from an isolated bb (get-bb/bb main 46da8461) with this PR's build installed from source. The brief was published from fixtures/brief.json through bb digest publish and rendered by the real Briefs message renderer. Settings use the stubbed overview, checkSettingsConnections and executionOptions responses from fixtures/README.md; no browser was signed in.

Screen / state Viewport Before After
Brief thread / No action needed expanded Desktop · 1440×900 Plugin README image returned an HTTP error; no usable capture After: sample Morning brief with one reply needed, a Review reply button, counts, and the No action needed table
Settings / Gmail site with a brief Desktop · 1440×900 No settings capture After: Settings → Briefs with Gmail on an example account and a disabled weekday Morning brief
Settings / editing a brief Desktop · 1440×900 No settings capture After: the Morning brief edit form with its prompt, weekday schedule and After reading: Keep unread

This commit also adds docs to the package files so the README images ship with the plugin (the repository hygiene check requires it).

BB-Thread-ID: thr_yps7yjsp4u

@brsbl

brsbl commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner Author

Superseded by #527, which ships this change together with the other plugins in one release. This PR's exact head is merged into #527 unchanged. The branch is kept.

@brsbl brsbl closed this Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant