fix: UX deep dive — 28 fixes across authoring, navigation, consistency, and cleanup #86

Merged
chihlasm merged 11 commits from feat/ux-deep-dive into main 2026-02-20 03:10:47 +00:00
chihlasm commented 2026-02-19 19:43:19 +00:00 (Migrated from github.com)

Summary

Comprehensive UX pass addressing 35+ identified issues across the ResolutionFlow frontend, organized into 5 phases:

  • Phase 0 — Tree Editor Authoring: Fixed node editor scroll trap/bottom clipping, reduced instruction density in forms, added answer-first branching hint
  • Phase 1 — Broken Functionality: Fixed auth error messages losing backend detail, inverted 4xx toast logic, 429 rate limit handling, role update payload mismatch, type-aware "Repeat Last Session" routing, Step Library placeholder route
  • Phase 2 — Navigation Correctness: Standardized back/exit to /trees, added exit button with ConfirmDialog for procedural sessions, removed duplicate account nav items, auto-redirect non-owners on analytics, toast before silent permission redirects, deleted orphaned AdminCategoriesPage
  • Phase 3 — Shared Components: Created shared Spinner and promoted EmptyState, migrated 13 page-level spinners, replaced all window.confirm() with ConfirmDialog, fixed PinnedFlow maintenance type and emoji
  • Phase 4 — Visual Consistency: Fixed Sonner toast styling (removed richColors, limited stacking), added font-heading to all page H1s, added font-label to TagBadges, fixed focus rings and deprecated glass-stat, standardized analytics container padding
  • Phase 5 — Backend Alignment: Removed non-functional drafts toggle, cleaned dead API methods/types (pin, reorder, getSharedTree, SessionListResponse, is_verified_use), added session list truncation indicator

28 tasks, frontend-only changes, zero backend modifications.

Test plan

  • Build passes (npm run build)
  • All 71 frontend tests pass (npm test)
  • Verify node editor scrolls properly with many options — footer stays visible
  • Login with wrong password shows backend error message (not generic)
  • Navigate procedural flow → exit button appears after first step, confirms before leaving
  • Sidebar: single "Account" link, no duplicates
  • Step Library nav item works (shows "Coming Soon" page)
  • Toast styling: no garish colors, max 3 visible
  • All page H1s use Plus Jakarta Sans (font-heading)
  • TagBadges use Outfit font (font-label)
  • Session history shows "Showing the 50 most recent sessions" or "Showing all N sessions"
  • No window.confirm() dialogs anywhere — all use ConfirmDialog

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

## Summary Comprehensive UX pass addressing 35+ identified issues across the ResolutionFlow frontend, organized into 5 phases: - **Phase 0 — Tree Editor Authoring:** Fixed node editor scroll trap/bottom clipping, reduced instruction density in forms, added answer-first branching hint - **Phase 1 — Broken Functionality:** Fixed auth error messages losing backend detail, inverted 4xx toast logic, 429 rate limit handling, role update payload mismatch, type-aware "Repeat Last Session" routing, Step Library placeholder route - **Phase 2 — Navigation Correctness:** Standardized back/exit to `/trees`, added exit button with ConfirmDialog for procedural sessions, removed duplicate account nav items, auto-redirect non-owners on analytics, toast before silent permission redirects, deleted orphaned AdminCategoriesPage - **Phase 3 — Shared Components:** Created shared Spinner and promoted EmptyState, migrated 13 page-level spinners, replaced all `window.confirm()` with ConfirmDialog, fixed PinnedFlow maintenance type and emoji - **Phase 4 — Visual Consistency:** Fixed Sonner toast styling (removed richColors, limited stacking), added font-heading to all page H1s, added font-label to TagBadges, fixed focus rings and deprecated glass-stat, standardized analytics container padding - **Phase 5 — Backend Alignment:** Removed non-functional drafts toggle, cleaned dead API methods/types (pin, reorder, getSharedTree, SessionListResponse, is_verified_use), added session list truncation indicator **28 tasks, frontend-only changes, zero backend modifications.** ## Test plan - [ ] Build passes (`npm run build`) - [ ] All 71 frontend tests pass (`npm test`) - [ ] Verify node editor scrolls properly with many options — footer stays visible - [ ] Login with wrong password shows backend error message (not generic) - [ ] Navigate procedural flow → exit button appears after first step, confirms before leaving - [ ] Sidebar: single "Account" link, no duplicates - [ ] Step Library nav item works (shows "Coming Soon" page) - [ ] Toast styling: no garish colors, max 3 visible - [ ] All page H1s use Plus Jakarta Sans (font-heading) - [ ] TagBadges use Outfit font (font-label) - [ ] Session history shows "Showing the 50 most recent sessions" or "Showing all N sessions" - [ ] No `window.confirm()` dialogs anywhere — all use ConfirmDialog 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
railway-app[bot] commented 2026-02-19 19:43:34 +00:00 (Migrated from github.com)

🚅 Deployed to the patherly-pr-86 environment in selfless-grace

Service Status Web Updated (UTC)
hopeful-liberation Success (View Logs) Web Feb 20, 2026 at 2:29 am
patherly Success (View Logs) Web Feb 20, 2026 at 2:28 am
<!-- railway-bot-comment-version=2 --> <!-- railway-project-id="22b9b58c-271b-42e5-a10e-6fdec8d00134" railway-project-name="selfless-grace" --> 🚅 Deployed to the [patherly-pr-86](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134?environmentId=56b267de-f58b-43a1-be4b-7e83b518869c) environment in **[selfless-grace](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134)** | **Service** | **Status** | **Web** | **Updated** (UTC) | | :--- | :--- | :--- | :--- | | hopeful-liberation | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/e1db2ee3-d241-4f45-abe4-c9c5fdf483d5?id=dd616de9-fc88-4a93-b780-c3436371b9b7&environmentId=56b267de-f58b-43a1-be4b-7e83b518869c)) | [Web](https://hopeful-liberation-patherly-pr-86.up.railway.app) | Feb 20, 2026 at 2:29 am | | patherly | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/95f556ff-5264-4116-a0c2-618a2fc53ba4?id=ecda0757-4d28-4f65-9035-4a0ed744646a&environmentId=56b267de-f58b-43a1-be4b-7e83b518869c)) | [Web](https://patherly-patherly-pr-86.up.railway.app) | Feb 20, 2026 at 2:28 am |
Sign in to join this conversation.