Skip to content

feat: consolidate settings cookies, restore update dismiss#418

Merged
tomasz-tomczyk merged 2 commits intomainfrom
consolidate-settings-cookie
May 2, 2026
Merged

feat: consolidate settings cookies, restore update dismiss#418
tomasz-tomczyk merged 2 commits intomainfrom
consolidate-settings-cookie

Conversation

@tomasz-tomczyk
Copy link
Copy Markdown
Owner

Summary

  • Cookie consolidation. Collapse 8 crit-* preference cookies into a single crit-settings JSON cookie via getSetting/setSetting helpers. crit-templates stays separate (user-defined, can be long). One-time idempotent migration on load expires the legacy cookies. Cookies (not localStorage) because crit defaults to a random port and localStorage is origin-scoped.
  • Restore brew update dismiss. "Don't remind me until next version" was lost when the update modal was replaced by the settings panel (feat: settings panel with config status, content width toggle #261). The reader survived; this restores the writer inside the existing Update card.
  • Per-agent integration dismiss. AI Integration card now has the same dismiss affordance, keyed on the bundled integration's content hash. Backend exposes Hash on integrationStatus so the dismiss expires automatically when a new template ships.
  • Style fixes. New .config-card-actions, .config-card-dismiss, .config-card-dismissed classes that match the existing .config-card-copy ghost-action vocabulary instead of misusing .about-link.

Review

  • Code review: passed (fresh go-expert + frontend-expert)
  • Parity audit: N/A (settings panel is CLI-only)

Test plan

  • go build clean
  • gofmt -l . clean
  • golangci-lint run ./... 0 issues
  • go test ./... pass
  • Playwright (theme, diff-rendering, comments-panel, templates, keyboard) — 74/74 pass
  • Manual: legacy cookies migrate on first load and get expired; theme/width/diff-mode/hide-resolved/toc/conv-collapsed all persist across restarts; dismiss buttons hide header indicator and replace themselves with "Dismissed" note; reload preserves state.

🤖 Generated with Claude Code

- Collapse 8 crit-* preference cookies into a single crit-settings JSON
  cookie via getSetting/setSetting helpers; crit-templates kept separate
  (user-defined, can be long). One-time idempotent migration on load
  expires the legacy cookies.
- Restore "Don't remind me until next version" on the Update card in
  the settings panel (lost in #261 when the modal was replaced).
- Add per-agent dismiss to the AI Integration card, keyed on the
  bundled integration's content hash so the reminder reappears when
  the template updates. Backend exposes hash on integrationStatus.
- Header update indicator now consults a unified predicate that
  filters both brew and integration entries against their respective
  dismiss keys.
- Style dismiss controls with new .config-card-dismiss / .config-card-
  dismissed classes that match the existing .config-card-copy ghost-
  action pattern instead of misusing .about-link.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 2, 2026

Codecov Report

❌ Patch coverage is 60.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.30%. Comparing base (44df509) to head (e2a4197).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
server.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #418      +/-   ##
==========================================
+ Coverage   67.27%   67.30%   +0.03%     
==========================================
  Files          26       26              
  Lines        9668     9671       +3     
==========================================
+ Hits         6504     6509       +5     
+ Misses       2653     2652       -1     
+ Partials      511      510       -1     
Flag Coverage Δ
e2e 34.16% <0.00%> (-0.02%) ⬇️
unit 63.50% <60.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@tomasz-tomczyk tomasz-tomczyk merged commit 982e4a4 into main May 2, 2026
6 checks passed
@tomasz-tomczyk tomasz-tomczyk deleted the consolidate-settings-cookie branch May 2, 2026 09:35
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