Repository navigation
feat(core): reconcile controller policies and report effective commits - #414
Merged
Merged
Conversation
Freeze IPC preferences in each reconcile request and include them in operation identity. Classify actual controller changes separately from process options so equivalent policies preserve the running instance while future restarts retain the latest desired policy. Expose effective configuration through an authoritative query and owned, coalescing commit subscriptions. Consumers cannot execute inside the core transaction or retain a publication guard. Authorize service sockets before readiness and clean endpoints with their epochs; unsupported hosts keep HTTP. Advance the service protocol to rc.4 for request-level settings and private effective snapshots.
greenhat616
force-pushed
the
feat/core-control-channel
branch
from
September 8, 2026 19:06
3a003e0 to
d1deb66
Compare
greenhat616
marked this pull request as ready for review
September 10, 2026 08:04
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Each reconcile now carries immutable IPC/HTTP preferences and can report the committed effective configuration. Prefer IPC, IPC-only and HTTP-only settings are part of operation identity; policies that resolve to the same configuration preserve the current instance while updating the desired policy for future restarts.
subscribe_config_commits()provides owned snapshots with coalescing notification semantics. The manager executes no consumer callbacks in its transaction and exposes no publication guards. Current running state remains authoritative througheffective_config().Unix services use a separate group-restricted controller directory, authorize recreated sockets before readiness, and clean endpoints during shutdown and orphan recovery. Hosts without IPC authorization retain HTTP fallback; Windows service IPC remains disabled pending cross-user pipe validation. Keeping HTTP forces a hard switch when listeners would conflict.
Validation:
dropping_live_manager_releases_runtime_ownershipwithNo such file or directory; its manager_orchestration target passed all 20 tests on serial rerun. The previous macOS version-probe test passed this round. The first full run is not presented as green.Companion application: libnyanpasu/clash-nyanpasu#5227. The utils gitlink pins the accompanying Backoff equality review commit; merge that dependency first.
Draft release gates: rc.4 is not published. Linux/Windows validation and privileged Unix daemon → ordinary GUI user REST/WS and unauthorized-user tests remain outstanding. Application merge requires the corresponding service release and a released runtime revision.
Backoff equality dependency: libnyanpasu/nyanpasu-utils#185.