fix: clear the theme-transition timer leak and let issues:done close ULID-id ledger rows - #2063
Conversation
The 200 ms timeout that removes .theme-transitioning leaked past DOM-test teardown and intermittently failed Unit coverage with 'document is not defined' (root-caused on PR #2052's first CI run). Track the pending timer so a rapid second toggle replaces it instead of stacking removals, and no-op if it fires after the environment is gone. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TNq5LiNDoZVaggA3mHBT5Q
issueRowFingerprint matched only legacy numeric ids, so done/update requests for reconcile-minted rows (#6BG9X2-style) were rejected as 'not in Open items' and those rows were uncloseable via the CLI (worked around by hand-validated inbox JSON in PR #2052). Match ULID display ids by the row's exact display id; numeric ids keep their zero-padding-tolerant number match. Adds a repo-hygiene test covering fingerprint, done apply, and staleness for a ULID row. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TNq5LiNDoZVaggA3mHBT5Q
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TNq5LiNDoZVaggA3mHBT5Q
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in:33 minutes Limit details: You’ve used all 1 included review currently available under your plan. You completed 95 included PR reviews in the past 7 days; at that activity level, included reviews refill at 1 review per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
Comment |
Summary
Two loose ends from the S1c session (PR #2052), each its own revertible commit:
setTimeoutatsrc/components/clinical-dashboard/use-theme.ts:93that removes.theme-transitioningleaked past DOM-test teardown and intermittently failed the Unit coverage job with an unhandledReferenceError: document is not defined(root-caused on PR fix(rag): verify imperative dosing claims against descriptive guideline norms (packet S1c, R2+R3) #2052's first CI run: 6886/6886 tests passed, 1 unhandled error). The pending timer is now tracked — a rapid second toggle replaces it instead of stacking removals — and a firing after the environment is gone is a no-op. No behavioural change in a browser (documentis always defined there).issues:donefingerprint ULID display ids.issueRowFingerprint(scripts/check-outstanding-issues.mjs) matched only legacy numeric ids (^#(\d+)$), sodone/updaterequests for reconcile-minted rows (#6BG9X2-style) were rejected as "not in Open items" and those rows were uncloseable through the CLI — PR fix(rag): verify imperative dosing claims against descriptive guideline norms (packet S1c, R2+R3) #2052 had to hand-validate its inbox JSON to close#6BG9X2. ULID display ids now match by the row's exact display id; numeric ids keep the zero-padding-tolerant number match. A new repo-hygiene test covers fingerprint lookup,doneapplication (row moves to Resolved/archive), staleness rejection, and null for archived/nonexistent ids. Verified against the live ledger:#6BG9X2,#0MSNT8,#DP6M3Gall fingerprint now.Neither commit touches a RAG surface, retrieval, ranking, or any answer path.
Verification
npm run verify:pr-localnpm run verify:ui— UI verification not run: the theme change is a timer-lifecycle guard with no visual or interaction change; no route, styling, or browser behaviour changednpm run verify:release— not run: not a release-confidence claimnpm run check:production-readiness— not run: no clinical workflow, privacy, environment, Supabase, source governance, or deployment behaviour changedRisk and rollout
Notes
RAG impact:line and canary pair.Generated by Claude Code