project-nomad/admin/inertia
Chris Sherwood bfd36a6939 fix(KB): blank-screen on panel open + tooltips on bulk-action buttons
The Stored Knowledge Base Files render crashed on first open in v1.32.0-rc.5
with `ReferenceError: sourceToDisplayName is not defined`. The table column's
render() called `sourceToDisplayName(record.source)` but the function was
extracted to `lib/kb_file_grouping.ts` in PR #892 and never imported in
KnowledgeBaseModal.tsx. The unhandled error unmounts the entire React tree,
so users see a blank screen ~20s after opening the panel.

Root cause: PR #895 (conditional warnings) rewrote the render() and used
`sourceToDisplayName(record.source)` instead of `record.displayName`, which
KbFileGroup already carries from groupAndSortKbFiles(). PR #895's review
follow-up (cbae48a) compounded this by narrowing the StyledTable generic
from `KbFileGroup` to `{source: string}`, hiding the type drift from tsc.

This restores the post-#892 pattern:
- StyledTable generic back to `KbFileGroup`
- Render uses `record.displayName` (works for both per-file rows and the
  collapsed admin-docs row; calling sourceToDisplayName on the synthetic
  `__admin_docs_group__` would have rendered that literal as the row name).

Also folds in tooltip copy on the three bulk-action buttons (Reset & Rebuild,
Re-embed All, Sync Storage) so the difference in destructiveness is visible
on hover. Uses native `title` attribute via StyledButton's prop pass-through;
no new component dependency.

Inertia tsconfig catches this regression cleanly (TS2304 + TS2339); the
pre-push hook only runs the backend tsconfig which excludes inertia/**, so
the bug shipped. Tracking the typecheck-coverage gap as a follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 11:10:16 -07:00
..
app fix(ui): reduce SSE reconnect churn and polling overhead on navigation 2026-03-20 11:46:10 -07:00
components fix(KB): blank-screen on panel open + tooltips on bulk-action buttons 2026-05-17 11:10:16 -07:00
context feat: container controls & convienience scripts 2025-08-08 15:07:32 -07:00
css feat(maps): add scale bar and location markers (#636) 2026-04-03 14:26:50 -07:00
hooks fix(Maps): render notes in marker popup when populated 2026-05-05 10:38:56 -07:00
layouts fix: cache docker list requests, aiAssistantName fetching, and ensure inertia used properly 2026-04-03 14:26:50 -07:00
lib feat(KB): guardrail modal at 50GB / 10%-free thresholds (RFC #883 §7) 2026-05-16 23:34:09 -07:00
pages feat(KB): wizard AI policy step (RFC #883 Phase 3 task 13) 2026-05-16 23:17:27 -07:00
providers feat(UI): add Night Ops dark mode with theme toggle 2026-03-20 11:46:10 -07:00
tsconfig.json fix(Docs): documentation renderer fixes 2025-12-23 16:00:33 -08:00