fix: address audit findings (ESC logic, IPC types, update UX, mutex safety, ESLint)#68
Conversation
…tex panics, pause button, ESLint)
|
Warning Review limit reached
More reviews will be available in 37 minutes and 56 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?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 credits. 🚦 How do rate 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 see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (12)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Changes
Fixes all issues found in the code quality audit:
🔴 Correctness Bugs
ESC key closes window before dismissing overlays (
useGlobalHotkey.ts)showTimersView/showRemindersViewchecks so ESC defers to those panels' own handlersIPC
voidmethods silently swallowed errors (types.d.ts,api.ts)quitApp,openExternal,openFile,setLaunchAtStartupfromvoid→Promise<void>setLaunchAtStartupnow returns the invoke Promise instead of fire-and-forgetSilent auto-restart on update (
system.rs)update-readyevent to the frontend before restartingonUpdateReadyIPC channel (bothtypes.d.tsandapi.ts)App.tsxlistens and shows: "✨ PaperCache updated — restarting in 3 seconds…"🟡 Robustness
Mutex
unwrap()panics in shortcuts.rs — replaced with.map_err(|e| e.to_string())?Dead-end Pause button (
TimersPage.tsx)resumeTimerhas no backend implementationmacOS
AppHandlememory leak (macos.rs)Box::into_rawleak with a safety comment explaining the lifetime requirement🟢 Hygiene
ESLint warnings in GraphView.tsx — both resolved:
ForceGraphInstanceinterface replacing theanyref typefgRef.currentinside the effect body to fix the stale-ref cleanup warningreact/react-dommoved fromdevDependencies→dependenciesChecks
npm run lint— ✅ 0 errors, 0 warnings (was 2 warnings)npx tsc --noEmit— ✅ 0 errorsnpx vitest run— ✅ 35/35 tests passingNot addressed (scope / complexity)
fs.rswalk_dir) — architectural change requiring frontend refactor; tracked separatelyreqwest0.11 → 0.12 bump — breaking API change; tracked separately