Repository navigation
fix(app): supervise helpers without blocking startup - #57
Merged
Merged
Conversation
Co-Authored-By: Claude Code <noreply@anthropic.com> Signed-off-by: Marc Went <marc.went+git@teifi.com>
Co-Authored-By: Claude Code <noreply@anthropic.com> Signed-off-by: Marc Went <marc.went+git@teifi.com>
Co-Authored-By: Claude Code <noreply@anthropic.com> Signed-off-by: Marc Went <marc.went+git@teifi.com>
Signed-off-by: Marc Went <marc@went.io>
Signed-off-by: Marc Went <marc@went.io>
Signed-off-by: Marc Went <marc@went.io>
Signed-off-by: Marc Went <marc@went.io>
Queued layout could move the transferred status button before synthetic mouse-down reached AppKit. Deliver mouse-down through its window and prioritize the paired mouse-up, preserving the real native action path. Add a required pending-layout regression that fails with the previous delivery. Signed-off-by: Marc Went <marc@went.io>
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.
Summary
Opening the app could wait indefinitely for launchd daemon readiness. Setup now retires legacy helper registrations and registers only the login item; the menu bar app supervises the queue, resource controller and optional phone service.
Review repairs preserve the drained-queue gate for removal and relocation, reconcile enabled phone settings after delayed service shutdown, and refuse helper startup when the crash lifeline cannot be allocated. Restart documentation matches the implementation.
The native CI follow-up records state transitions before delayed observers run and uses a controllable restart clock to verify exact throttle boundaries and cancellation. The production continuous clock and ten-second restart policy are preserved.
The Intel core CI follow-up distributes the complete ordinary backend inventory across two required shards per architecture. Race detection, two workers, the twelve-minute test timeout and twenty-minute job budget remain in place. HTTPS and live upgrade keep their own required jobs; the first core shard also runs the other runtime packages.
The paused banner now includes Resume in both the menu panel and queue window. It uses the existing controller action, disables concurrent mutations, shows progress and refreshes confirmed status. The empty state now describes the paused queue instead of saying it is ready.
Evidence
docs/handoffs/pr-57-review-fixes.md.6bafe90, including both core shards on both architectures andci-required. The new Resume head requires fresh CI.resumecommand, retained jobs and removal of the paused banner.Screenshots
Matched dark-mode captures use only public simulated jobs. The historical baseline backports only the injected-provider constructor seam, leaving its view code unchanged. Native jobs retain before/after PNGs and verification receipts as
Native-resume-macos-15-1andNative-resume-macos-15-intel-1(attempt suffix increments on reruns).Screenshot artifact bundles for this head are pending hosted capture. Local captures have been visually checked.
before/paused-menu-empty.pngafter/paused-menu-empty.pngbefore/paused-window-waiting.pngafter/paused-window-waiting.pngThe bundle also includes the resumed state for both surfaces. No screenshot files are committed.
Merge Danger
Door: Two-way
Blast Radius: Runtime
Changes helper ownership, application startup/shutdown, managed installation and phone-access lifecycle. Existing durable job ownership, attempt recovery and executable custody remain authoritative.
Before confirming a squash merge:
Signed-off-bytrailer. Check the selected email, including any GitHub noreply default.Marc Went <marc@went.io>and retain exactly one maintainer trailer:Signed-off-by: Marc Went <marc@went.io>. Consolidate duplicate maintainer trailers and the maintainer's noreply alias; preserve other contributors' certifications. Follow the commit policy below for GitHub CLI author selection and post-merge verification.sh scripts/merge-pr.sh PR_NUMBER REVIEWED_HEAD SQUASH_BODY_FILEto bind the reviewed head, primary author email, and single maintainer certification, then verify the actual merged commit. Green PR checks do not validate a future web squash commit's author identity.See the commit policy and squash author instructions.
Startup graphical fixture follow-up
On
38fd1ca, Resume graphical checks passed and published screenshots on both architectures. ARM then timed out in the existing startup fixture's status-item click; Intel passed. A controlled queued layout event reproduced a missed target and the same popover timeout. The fixture now sends mouse-down synchronously through its status window and prioritizes the paired mouse-up. A required queued-layout regression fails with the old delivery and passes with the repair. Production behavior, deadlines and required checks are unchanged. All twelve startup graphical scenarios pass locally; independent Standards and Spec reviews found no actionable issues. Fresh CI onf5a243bremains pending.Published Resume evidence for the unchanged UI from
38fd1ca: Apple Silicon screenshots, Intel screenshots. These are prior-head visual evidence; the new head must pass its own required jobs.Final validation on reviewed head
All 20 checks, including
ci-required, passed onf5a243be7acfabae4a0b6a8f09511bf22a1884d9. The targeted Intel native retry passed without code or policy changes. The universal app build and installer/package validation passed. Independent Standards and Spec reviews have no remaining actionable findings.Exact-head before/after Resume screenshots and verification: Apple Silicon, Intel rerun. Startup evidence: Apple Silicon, Intel rerun. Successful universal app build artifact.