Skip to content

Inbox: the attachment pane follows Plannotator's Grid/Clean plan look - #1796

Merged
backnotprop merged 1 commit into
mainfrom
feat/inbox-clean-plan
Oct 8, 2026
Merged

backnotprop merged 1 commit into
mainfrom
feat/inbox-clean-plan

Conversation

@backnotprop

Copy link
Copy Markdown
Owner

The owner looked at a plan inside the Inbox and asked that it follow Plannotator's own plan look, the "Grid" or "Clean" choice in Plannotator's Settings, instead of the Inbox's own card. The attachment pane now reads the same gridEnabled setting Plannotator's windows read (the config registry and its cookie plannotator-grid-enabled, no second setting): Grid draws plan review's card on the grid paper, Clean draws the document edge to edge on the card colour. The default stays the registry's (Grid).

What changed

  • packages/inbox/components/AttachmentPane.tsx: useConfigValue('gridEnabled'); the scroll area takes bg-grid (Grid) or bg-card (Clean), the same classes plan review's document area uses (packages/editor/App.tsx), and Viewer gets gridEnabled, so the card chrome (rounded-xl, shadow-xl, border-border/50, padding) is Viewer's own. The width bound moves from .ib-doccard to Viewer's maxWidth (640 beside the thread, 760 full screen, the record's widths). data-look="grid|clean" on the scroll area for the proof. Applies to markdown, text and diagram attachments (all go through Viewer); HTML is unchanged.
  • packages/inbox/inbox.css: .ib-doccard and its full-screen rule removed; .ib-docscroll centres the Viewer.
  • tests/e2e/inbox-attachments.spec.ts: a new test (below); the .ib-doccard selectors now read .ib-docscroll.
  • AGENTS.md (Inbox section, attachments): one line on the look.

Settings

The Inbox's Settings (packages/inbox/components/Settings.tsx) lists no look settings (no theme, no plan look): it has the agent-tools knob, connections, notifications, phones and storage. Per the brief it is left alone; the switch stays in Plannotator's Settings, and the cookie is shared across localhost ports, so a change there shows in the Inbox on the next load.

Proof

tests/e2e/inbox-attachments.spec.ts, "the plan follows Plannotator's look", Playwright against the compiled binary in inbox-e2e.yml (paths-gated on packages/inbox/**):

  • No choice made (cookie absent or the store's seeded default true): data-look="grid", the scroll area has bg-grid, the article has shadow-xl and border. Frame 2.1b-plan-look-grid-{light,dark}.png.
  • Cookie plannotator-grid-enabled=false, reload: data-look="clean", bg-card, no shadow-xl, the article's background equals the scroll area's. Frame 2.1c-plan-look-clean-{light,dark}.png.
  • Cookie cleared, reload: back to Grid for the rest of the file.

Run: bun run build:review && bun run build:hook && bun build apps/hook/server/index.ts --compile --no-compile-autoload-bunfig --define '__CLI_VERSION__="0.0.0-dev"' --outfile .local/plannotator && bun run test:e2e:inbox (locally: npx playwright test -c tests/e2e/playwright.config.ts inbox-attachments.spec.ts, 11 passed). Frames copied to research/operational/mobile-proofs/INBOX-CLEAN-2026-10-08/ in the Workspaces tree.

Gates

  • bun run typecheck: green.
  • bun test packages apps/hook tests scripts under a temp PLANNOTATOR_DATA_DIR: 5863 pass, 0 fail.
  • bun run check:release-version: green.
  • No DOM-gated inbox test files; packages/ui and packages/core unchanged, so no smoke:package.

Deviation from the record

The window record (.product/approved/plannotator-inbox-window-2026-10-07/, section 2.2) drew the file on the Inbox's own card (10px radius, --card-shadow, on --background). Grid now draws plan review's card instead (12px radius, shadow-xl, a hairline border, on the grid paper), and Clean has no card at all. Reason: the owner's ruling on 2026-10-08 that the plan in the Inbox should be Plannotator's own rendering and follow its Grid/Clean setting. Widths stay the record's.

Leaves out

No Inbox-only switch, no Settings row, no change to HTML attachments or message bodies, no plan-width setting (plannotator-plan-width) reading.

@backnotprop
backnotprop merged commit a013727 into main Oct 8, 2026
29 checks passed
@backnotprop
backnotprop deleted the feat/inbox-clean-plan branch October 8, 2026 17:10
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