Categories and Tags sections were pushing Feedback, Account, and
Collapse off-screen when All Flows expanded its children. These
filters already exist on the TreeLibraryPage, so the sidebar
duplicates were removed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The background seeder now creates users directly via DB if login fails,
instead of silently aborting. This handles Railway PR environments where
the releaseCommand may not execute properly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1. Toast fixes: Add theme="dark" to Sonner, use !important CSS overrides
instead of zero-specificity :where() selectors, suppress noisy 4xx
global toasts (pages handle their own errors)
2. Node editor first-click: Add node.type to draft initialization
useEffect deps so draft resets when answer stub converts to real type
3. Action node redesign: Remove NodePicker dropdown, auto-create answer
placeholder on save (matching decision node pattern). Users click the
placeholder on canvas to choose type and fill in details.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
FastAPI returns `detail` as an array of objects for 422 validation errors,
not a string. Passing these objects to toast.error() or rendering them in
JSX crashes React with Error #31 ("Objects are not valid as a React child").
Now checks typeof detail === 'string' before using it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PageLoader used h-screen inside a grid cell, causing it to overflow.
Changed to h-full so it fits within the main-content area. Removed
bg-black from both PageLoader and RouteError in favor of theme-aware
bg-background to prevent black flash during lazy loading.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove non-functional drafts toggle and clean TreeFilters type
- Fix AccountInvite type to match backend schema
- Remove dead API methods: pinnedFlows.pin/reorder, trees.getSharedTree
- Remove unused types: SessionListResponse, RatingCreate.is_verified_use
- Add session list truncation indicator with size=51 lookahead
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove richColors from Sonner toasts, limit stacking to 3
- Add font-heading to all page H1s (7 files)
- Add font-label (Outfit) to TagBadges component
- Fix focus ring tokens on analytics pages
- Replace deprecated glass-stat with design system tokens
- Standardize container padding on analytics pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Standardize all procedural back/exit paths to /trees (not /my-trees)
- Add exit button with ConfirmDialog to procedural session top bar
- Consolidate duplicate account links in sidebar and topbar
- Auto-redirect non-owners to personal analytics
- Add toast feedback before silent permission redirects in tree editor
- Delete orphaned AdminCategoriesPage
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract backend error detail in auth store login/register
- Fix inverted 4xx toast logic and add 429 rate limit handling
- Send account_role field to match backend schema in role update
- Use type-aware routing for Repeat Last Session button
- Add step library placeholder page and route, remove dot badge
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace fixed viewport height with flex layout in NodeEditorPanel
- Make footer sticky so Save/Cancel always reachable
- Compact root node banner to single-line with InfoTip tooltip
- Reduce resolution note from callout box to inline text
- Add answer-first branching hint below options label
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>