Repository navigation
fix: address repo review findings - #2
Conversation
- Render previews on a detached task instead of the main actor, so CIContext rasterization no longer blocks the UI during edits - Bound the preview render cache by estimated bytes (256 MB) in addition to the entry count - Scale grain noise by grain size instead of its inverse, so larger sizes produce coarser grain - Load sources as half-float and map extended_linear_srgb to the extended linear sRGB color space instead of gamma-encoded extended sRGB, preserving precision for >8-bit sources - Count histogram clipping only when all channels clip, so saturated colors no longer over-report shadow/highlight clipping - Validate photos on import via ImageIO instead of fully decoding them twice - Set the project's selected item when opening a project so edits persist without reselecting - Format the export name preview without probing the filesystem - Remove the inaccessible side-by-side comparison mode - Guard local adjustment layer bindings against stale indices - Label derived calibration readouts as placeholders in the inspector - Share batch export state construction between the async and synchronous export drivers - Remove view coverage probes and report coverage without ignoring the largest source files https://claude.ai/code/session_018WfrSbcryCLDHBqAQHawki
|
Warning Review limit reached
More reviews will be available in 58 minutes and 16 seconds. Learn how PR review limits work. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (14)
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 |
Fixes the findings from a full repo review. No new features — performance, correctness, and honesty cleanups, plus CI.
Performance & correctness
renderPreviewIfNeedednow runs the expensive CIContext rasterization and histogram build in a detached task; only debounce, generation checks, and state publishing stay on the MainActor. Previously the whole render ran on the main thread and blocked the UI during edits.sizeinstead of1/size, so larger grain sizes produce coarser grain..RGBAh) instead of 8-bit, and the defaultextended_linear_srgbworking space now maps to the extended linear sRGB color space instead of gamma-encoded extended sRGB.openProjectsets the project's selected item, so edits to the auto-selected photo persist without manually reselecting it.fileExistschecks against/tmpfrom the view body and could show a misleading-2suffix).Cleanup
.sideBySidecomparison mode (it was hidden from the UI via a customallCasesoverride and rendered the split view anyway); README updated to match.*CoverageProbeenums from production view code and the coverage ignore-regex fromscript/test.sh, so reported coverage no longer excludes the largest source files.CI
.github/workflows/ci.ymlrunningswift buildand./script/test.shonmacos-15.Notes for review
This branch was authored in a Linux environment without a Swift toolchain, so it has not been compiled locally — the new CI workflow on this PR is the first build. Two changes intentionally alter observable behavior that tests don't pin and deserve a quick visual check: grain size direction and the clipping ratios.
https://claude.ai/code/session_018WfrSbcryCLDHBqAQHawki
Generated by Claude Code