feat(settings): wire landing, recent-searches, and compact-citations preferences live#910
Conversation
…preferences live The default-landing preference now drives a one-shot mode redirect on bare '/' loads (explicit mode/query params always win), the answer home gates its recent-query chips on showRecentOnHome, and the source capsule drops its text label to icon+count under compactCitations — with the 'No direct source found' warning exempted so compact mode can never hide a missing-source signal. The three wired rows lose their 'Saved for later' marker; the still- inert rows (clinical trio pending provider-gated eval, protocols module and notification infrastructure not built) keep it, with reasons in the test contract. Also hardens .claude/hooks/session-start.sh: the lockfile sha256 is stamped after npm ci and a mismatch triggers reinstall, closing the stale-container gap that faked a typecheck regression during the 24h audit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LxzDsyr6FXLG1zcuLGyFsf
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThe PR activates three application preferences: default landing mode, recent searches on home, and compact citations. It adds preference-driven rendering and routing, updates settings accessibility markers and tests, and makes session-start dependency installation respond to lockfile changes. ChangesPreference-driven clinical dashboard behavior
Session-start dependency synchronization
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested labels: Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
node_modulessession-start gap found during the 24-hour audit.GlobalSearchShellClientapplies a one-shotrouter.replaceto the saved landing mode on a bare/load (search→ documents,browse→ tools via the newlandingModeForPreferencehelper). Explicitmode/q/runparams always win, and the dashboard's existing URL-sync effect performs the actual switch.AnswerEmptyStategates its recent-query chips onshowRecentOnHome.compactCitationsis on. The "No direct source found" warning is explicitly exempted so compact mode can never hide a missing-source signal (locked by test)..claude/hooks/session-start.shnow stamps thepackage-lock.jsonsha256 intonode_modules/.session-start-lock-hashafternpm ciand reinstalls when the lockfile no longer matches, so dependency-bumping merges can't leave a cached container silently stale (that staleness faked a typecheck regression during the audit).Verification
tests/answer-preferences.dom.test.tsx(recents gate on/off, compact capsule display including the missing-source exemption, landing mapping), updatedtests/settings-inert-preferences.dom.test.tsxcontract (3 rows moved inert → functional, aria-describedby contract intact for the remaining 7), plusapp-preferencesandprivate-client-auth.tests/pdf-extraction-budget.test.tsartifact (fails identically on clean main in this container; hosted CI green on it throughout feat(pwa): retirement kill-switch, offline-version binding guard, and dev teardown flag #826–fix: remediate 2026-07-19 audit findings (inert settings, offline auth, redirect query) #906).bash -nclean on the hook.UI verification not run: the landing redirect reuses the dashboard's existing URL-mode sync path and the capsule/chips changes are gated presentational branches with dom-test coverage; the blocking hosted Production UI job covers this head in CI.
Verification not run:
npm run check:production-readiness— no secrets in this container (documented demo-mode expectation) and no answer-generation, retrieval, or source-governance logic changed; the capsule change is presentational with the missing-source warning locked by test.Risk and rollout
/with no explicit params. The hook change only affects dev-container setup, never CI or production.Clinical Governance Preflight
Clinical KB Database(sjrfecxgysukkwxsowpy)Notes
eval:rag,eval:quality).🤖 Generated with Claude Code
https://claude.ai/code/session_01LxzDsyr6FXLG1zcuLGyFsf
Summary by CodeRabbit