Skip to content

fix(daemon): prevent service loss and console flashes after apply - #3948

Merged
afonsojramos merged 7 commits into
v3-betafrom
fix/daemon-owned-apply
Sep 16, 2026
Merged

afonsojramos merged 7 commits into
v3-betafrom
fix/daemon-owned-apply

Conversation

@afonsojramos

@afonsojramos afonsojramos commented Sep 16, 2026

Copy link
Copy Markdown
Member

Apply from Spotify now preserves the running daemon, its autostart registration, and the CLI URL handler. RPC work runs on blocking workers, and explicit Apply modes reserve daemon maintenance for the foreground CLI. Watcher repairs stop when another Apply consumes the stock archive. Windows process helpers run without flashing console windows.

Related: #3946

Validation:

  • Regression coverage includes RPC responsiveness under lock contention, watcher cancellation, and Windows helper output/exit status without a console.
  • CI passes on macOS, Linux, and Windows. The final combined build with fix(v3): restore GraphQL definitions and macOS app handoff #3951 and fix(daemon): preserve macOS launchd ownership during startup #3952 passes 172 workspace tests with three existing ignored tests.
  • Native macOS Store flow: Update all, Apply stdlib update, Cancel, reopen, Apply and restart. Spotify 1.3.0.277 returned to Home and the Store, the banner cleared, and stdlib 1.12.0 was active. A published older stdlib artifact was installed through the CLI to prepare this fixture.
  • Daemon PID and launch-agent plist survived, health probes had no failures or uptime resets, and the watcher cancelled its transient repair after the archive was consumed.
  • Earlier Windows diagnostic RPC Apply passed 84 health probes with maximum latency 28 ms, preserved daemon/autostart/URL registration/update protection, and produced no new OpenConsole process in the 45-second sample.

Windows native UI Apply and first boot after a Spotify version update remain unverified. Windows Update & Apply remains disabled in release builds. The installed test binaries are local builds, not a published release.

See the verification report for setup and limits.

@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 57c235fd-3477-4f81-a441-64a2249f8fb7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@afonsojramos afonsojramos changed the title fix(daemon): keep service alive after in-client apply fix(daemon): prevent service loss and console flashes after apply Sep 16, 2026
@afonsojramos
afonsojramos marked this pull request as ready for review September 16, 2026 23:37
@afonsojramos
afonsojramos merged commit 262f759 into v3-beta Sep 16, 2026
6 checks passed
@afonsojramos
afonsojramos deleted the fix/daemon-owned-apply branch September 16, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant