towerops/docs/plans
Graham McIntire 97b396a763
docs: add browser navigation best practices and design document
Add comprehensive documentation for idiomatic Phoenix LiveView URL state
management to ensure browser back/forward buttons work correctly.

Changes:
- Add design document: docs/plans/2026-02-12-browser-navigation-fix-design.md
  - Documents the problem (18 LiveViews missing handle_params/3)
  - Provides idiomatic Phoenix patterns using push_patch/2
  - Includes migration strategy for updating all LiveViews
  - Contains testing protocols and success criteria

- Update CLAUDE.md: Add "Browser Navigation and URL State Management" section
  - Documents the three core patterns: tabs, modals, filters
  - Establishes critical rules for all future LiveView development
  - Provides working code examples for each pattern
  - Links to official Phoenix documentation

Key Principles:
- URL is single source of truth for visible state
- Use push_patch/2 in event handlers, never assign for URL-backed state
- Always implement handle_params/3 to validate and process URL params
- Use Phoenix built-ins (no custom helpers needed)

This ensures future LiveView development follows the correct pattern
and browser navigation works as users expect.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 09:20:14 -06:00
..
2026-01-31-hibp-password-breach-checking-design.md Add design document for HIBP password breach checking 2026-01-31 17:16:58 -06:00
2026-02-01-cloudflare-timezone-detection-design.md Add design for Cloudflare timezone detection on signup 2026-02-01 10:56:07 -06:00
2026-02-01-cloudflare-timezone-detection.md Move CaptureTimezone plug to browser pipeline 2026-02-01 11:15:51 -06:00
2026-02-01-sudo-mode-mfa-only-design.md Add design doc for sudo mode MFA-only verification 2026-02-01 13:50:34 -06:00
2026-02-01-sudo-mode-mfa-only.md feat: implement sudo mode MFA-only verification controller 2026-02-01 14:34:17 -06:00
2026-02-02-gettext-internationalization-design.md docs: add gettext internationalization design 2026-02-02 09:33:01 -06:00
2026-02-06-job-monitoring-dashboard.md docs: add detailed implementation plan for job monitoring dashboard 2026-02-06 16:07:44 -06:00
2026-02-12-browser-navigation-fix-design.md docs: add browser navigation best practices and design document 2026-02-12 09:20:14 -06:00
make-sites-optional.md make sites optional 2026-02-04 13:05:32 -06:00