Repository navigation
fix(dev): rebuild incomplete macOS Electron caches - #2657
rudycelekli wants to merge 4 commits into
Conversation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe macOS development launcher validates and rebuilds its Electron cache under a custody lock. The lock records ownership and reclaims a lock directory only when a same-host process is confirmed dead. Integration tests cover cache reuse, rebuilding, concurrent launchers, and lock recovery. ChangesmacOS Development Cache Recovery
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix · Severity of issue fixed: Low Suggested reviewers: Merge Risk: ⚪ Minimal · up to The cache repair is ready to merge after normal platform checks. The reviewed paths do not establish a remaining failure that blocks rebuilding or permits competing publication. 🚥 Pre-merge checks | ✅ 7 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (7 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (2 skipped: 2 unsupported.) Full details: Cross-Platform Default ParityExplanation The PR changes default behavior on macOS only.
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 |
|
[High risk] Development launcher adds macOS cache locking and rebuild logic. The PR appears safe to merge based on the reviewed changes. SummaryThe PR repairs incomplete macOS development bundles and replaces the invalid custody invocation with a file-and-command Reviews (4) · Last reviewed commit: "fix: retain macOS cache custody with cla..." |
|
All contributors on this pull request have signed the VoiceStudio CLA. Thank you! |
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
|
Thanks for the report and the work on this, @rudycelekli. The problem in #2656 is fixed on |
Summary
If the cached branded macOS development app loses its executable, the cache fails validation but still occupies its target directory. Staging a rebuilt bundle into that occupied path fails repeatedly. Invalid cache contents should be removed before the validated replacement is published.
Closes #2656.
Changes
Type
Testing
lockf; the preceding descriptor-only source fails the actual worker-entry regression and the old command returns usage64. Tested on the current macOS kernel, not an older-OS matrix.git diff --checkand changelog/locale/CJK/version checks: 589 passed, one unchanged environment failure because this Python runtime lacks installed omnivoice package metadata.bun run check:electronwas attempted; broader typecheck remains blocked by missing workspace UI/build dependencies and existing type errors. Full backend and hosted platform gates are not claimed green from these local tests.Checklist
package.json,pyproject.toml,backend/core/version.py, and lockfilestests/fixtures/omnivoice_data/still loads green on thesmoke-matrixCI job (macOS + Windows + Linux)Release cadence
VoiceStudio ships continuous-to-main — no release candidates, no soak windows.
Every merged PR is immediately part of rolling source (
main) and Docker:latest. Electron artifact rehearsals validate desktop packages without publishing.Version bumps require owner approval; validated releases are tagged from
mainand published explicitly under the release checklist.
Users who want stability install an Electron release or pin Docker
:stable.The macOS development launcher removes an invalid cached bundle before publishing a replacement and uses
lockfcustody to coordinate launchers and recover only demonstrably abandoned locks. This prevents incomplete cache contents from blocking rebuilds. Review the macOS lock-recovery paths; full-suite and platform checks were not completed.Maintenance verification — October 6
Actual child-process regressions kill an observed launcher before retirement and after publication, verify recovery/retained executable inode, and preserve live/unknown owners; the existing concurrent repair proof also passes. The unchanged-head interruption regression fails before the fix. All nine launcher tests pass afterward with Node 24.18.0, existing Vitest 5.0.1 and the declared Electron/electron-vite packages (binary downloads skipped).
Full
check:electronwas attempted and retried, but the broader workspace typecheck remains blocked by absent UI/build dependencies and unrelated existing type errors. Mechanical checks report 589 passed and one missing-installed-package-metadata environment failure. Full hosted platform gates remain separate; no full-suite green claim.macOS lockf compatibility correction
Maintenance head a3ccce0 replaces the recent descriptor-only interface with classic persistent-file custody. Official Apple macOS13.0 source and compiled native command controls support the correction; current-kernel testing does not qualify a full older-macOS matrix. See Testing for exact scope and remaining environment gates.