Files
beardrive/internal/webapp
Snow LeeandClaude Fable 5 87539e1ee7 feat(web): UX polish — stable rerenders, RESTful view routes, unified history rows
- No-flicker polling: tree and heat refreshes compare fetched data and skip
  DOM rebuilds when nothing changed; in-place listing re-renders preserve
  scroll.
- RESTful routes: /<project>/insights and /<project>/history[/<path>]
  replace query-param views; the reserved first segments survive refresh,
  deep links, and back/forward. Per-route scroll restore (manual
  scrollRestoration) returns the reader to where they were.
- History rows unified: every entry (recent changes and full history) is a
  clickable row that opens the file — view/download version links removed;
  old versions remain reachable via the blob API until the time-travel
  viewer lands. Folder tree loses the per-dir history icon.
- Hot path: danger rows use the amber accent, ⚠ trails the filename, and a
  tooltip explains the flag (reads/30d, days unchanged).
- Frontend responses send Cache-Control: no-cache so upgrades never leave
  browsers on a stale embedded UI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P5cxPQdSGJnjXCYY9GeWXt
2026-07-12 15:38:48 -07:00
..