Skip to content

Digests: private briefings from your signed-in sites - #240

Merged
brsbl merged 67 commits into
mainfrom
bb/digests-plugin-v1-thr_w2pahn78bi
Oct 4, 2026
Merged

brsbl merged 67 commits into
mainfrom
bb/digests-plugin-v1-thr_w2pahn78bi

Conversation

@brsbl

@brsbl brsbl commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Digests delivers private briefings as threads in its own inbox, using existing browser sign-ins and a fresh tab on the browser’s computer.

  • Read full emails and restore unread state by default, with an optional Mark as read setting.
  • Scan compact Needs you rows with review buttons beside the summary.
  • Expand a flat No action needed table with inferred types and summaries that use the remaining width, wrapping to two lines.
  • Click “12 need nothing from you” to open that table. Repeat senders stay separate.
  • Open one bounded table at a time; scroll inside it without losing its heading. No core changes or unreleased SDK dependency.
  • Edit an emoji beside the digest name. New issue titles use saved values, then starter defaults; saved definitions remain valid.
  • Add editable prompts under each site, or publish from another thread with bb digest publish.

The compact row design incorporates the user-requested Linear/Asana pass from thr_ugzqmnuaik, including the deadline contrast adjustment. New email date/type fields are optional. Existing emoji overrides are preserved.

Requires bb 0.45.0+ and Thread Organizer 0.1.9. Collection permits unread restoration only; other account changes require an approved action-card click. Reading deduplicates by source message ID after successful publication.

P1 fixes complete; green candidate 57ee40629 handed to the coordinator. Main advanced with unrelated Ambient/Desktop PR #278 after the final CI check; GitHub reports BEHIND but MERGEABLE. The coordinator owns the merge and any required final sync. One cumulative Slop Cop review covered a776d317c..d4ec54603; both validated P1 findings are fixed and verified at 0c10be6be; the final merge changes only upstream documentation. P2 findings remain follow-ups. The plugin-only expansion fix passed in the isolated app. Hidden initial automation prompts still need verification in a build containing merged core #4835; the current isolated host predates it. No dependency on core #4836 or SDK 0.6.18.

Validation:

  • Remote CI passed at 57ee40629, including all 78 Digests tests. No local CI checks.
  • Main c941e0667 is included; lockfile and shared screenshot-check conflicts are resolved. The final main sync adds only Design Doctrine notes; the reviewed and fixed Digests tree is unchanged. The final expanded table passed desktop and mobile checks in the isolated app.
  • Cumulative Slop Cop: security, architecture, code quality, performance and end-to-end behavior. Two P1s found, fixed and narrowly verified; no open P0/P1 findings.
  • Restart recovery: prefer a live selected browser window, otherwise use the sole window on the same saved computer; ambiguous windows remain an error. Settings no longer saves an automatically chosen window ID.
  • Interrupted retries: reconcile the current native thread, preserve active/queued/reconnecting work, show Retry on terminal failure, retain the unread journal and release Gmail collection ownership.
  • Regression proof: four assertions failed on the exact two bugs at 580bf0f13; the same suite passed after the fixes.
  • Isolated runtime check at P1 fix 0c10be6be: seeded an interrupted retry on an idle synthetic thread, reloaded Digests, and observed one failure card with Retry; its journal survived and collector/browser/retry keys cleared. Fixtures restored afterward. Browser-window replacement is covered through the SDK boundary in remote tests.
  • Chrome for Testing 151 through Browser Automation: 1440×1000 and 390×1000, Moss light/dark, reload and section switching.
  • Table height stays at 240px. The active heading stayed visible after expansion and three seconds of settling; keyboard End reached the last row.
  • All 14 email links remain; nested sender groups are gone. Mobile scrolls the table horizontally to retain its columns.
  • Final display pass: all 12 no-action rows have types; summaries fit or wrap to two lines; the revised count opens its section.
  • Emoji edits persisted after reload, without enabling the definition. Four synthetic issues published through the plugin displayed emoji titles.
  • The earlier live preview thr_ugzqmnuaik fully read four emails and independently verified all four unread afterward.

The expanded desktop table’s after image below was refreshed at 57ee40629 (1440×1000, 2×). Other retained comparisons: before 6e876ff79, after 440864718, captured at 2× in the isolated branch app. The same synthetic email fixture is used; optional date/type metadata is displayed by the new renderer. Desktop screenshots also show the newly published emoji titles, including saved overrides. Settings compares the same Money edit form.

State Viewport / theme Before After
Needs you / issue titles Desktop · Moss light Screenshot removed: contained personal data Screenshot removed: contained personal data
No action needed expanded Desktop · Moss light Screenshot removed: contained personal data Screenshot removed: contained personal data
Needs you / issue titles Mobile · Moss light Screenshot removed: contained personal data Screenshot removed: contained personal data
No action needed expanded Mobile · Moss light Screenshot removed: contained personal data Screenshot removed: contained personal data
Needs you / issue titles Desktop · Moss dark Screenshot removed: contained personal data After dark-desktop-top
No action needed expanded Desktop · Moss dark Screenshot removed: contained personal data Screenshot removed: contained personal data
Needs you / issue titles Mobile · Moss dark Screenshot removed: contained personal data Screenshot removed: contained personal data
No action needed expanded Mobile · Moss dark Screenshot removed: contained personal data Screenshot removed: contained personal data
Emoji edit field Desktop · Moss dark Before emoji field desktop After emoji field desktop
Emoji edit field Mobile · Moss dark Before emoji field mobile Screenshot removed: contained personal data

Migration awaits confirmation. Definitions stay disabled and the originals remain untouched. Preview Money and Reading, then pause each original and enable its replacement:

Digest Original automation Schedule
Unread email auto_zto0dtbcxme Weekdays 10am PT
Money auto_fffup3wj2me Mondays 10am PT
Reading auto_l_llrtabhlw Sundays 11am PT

Retain originals for rollback; never run both versions together. X remains published by its analytics thread.

Nonblocking review follow-ups

Cumulative P2s: switching from a reused workspace can retain its old binding; delayed automation dispatch can leave an unbound issue; external publication ignores deduplicate:false; collapsed tables still mount all rows; journal updates rewrite the full issue; historical failed runs rebroadcast on reconciliation. Recorded without expanding this PR.

Earlier UI P2s: very long action metadata can clip a button; large lists repeat date-formatter construction; clearing an emoji preserves its previous value; a CLI-defined constructor ID needs own-property fallback lookup. Recorded rather than expanded into this scope.

Earlier P2s: legacy empty row arrays show zero counts; labels with leading and trailing numbers can choose the wrong badge; repeated external sources despite deduplicate:false; legacy URL counts remain text; whole-journal serialization; concurrent definition/binding updates; explicit-environment precedence; replacement-automation resume failure; repeated offline-host notices.

BB-Thread-ID: thr_w2pahn78bi

@brsbl brsbl changed the title Add Digests: private newsletters delivered as threads Add Digests: clear daily briefings from your signed-in sites Oct 3, 2026
@brsbl brsbl changed the title Add Digests: clear daily briefings from your signed-in sites Digests: private briefings from your signed-in sites Oct 4, 2026
@brsbl
brsbl enabled auto-merge (squash) October 4, 2026 10:59
@brsbl
brsbl merged commit 24b1168 into main Oct 4, 2026
24 checks passed
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