Skip to content

tracking(permissions): finish macOS Stage 2 #4328

Description

@Phoenix500526

Problem

Stage 1 of macOS drag-to-grant onboarding shipped in #1515, but the card still
anchors to the cursor on main. Stage 2 requires foreign-window location,
docking, packaged delivery, and end-to-end validation; those completion
requirements have no issue tracker.

Open PR #1532 implements most of the locator/docking path, but it is currently
merge-conflicted, explicitly excludes signing/notarization, and has not verified
the composed flow on a machine with clean TCC state. This issue tracks the
outcome rather than duplicating that implementation.

Completed baseline

  • Stage 1 provides a non-focus-stealing panel, cross-process app drag, grant polling, localized fallback/restart copy, re-entry protection, and bounded teardown.
  • feat(permissions): dock the drag-to-grant card to the Settings window #1532 adds a CoreGraphics locator, top-left coordinates, multi-display docking, failure classification, reduced-motion-aware flight geometry, and focused tests.

Remaining work

  • Rebase and land feat(permissions): dock the drag-to-grant card to the Settings window #1532 without regressing current permission-overlay fixes
  • Package the universal locator binary and integrate signing/notarization and packaged-resource verification
  • Verify the composed flow on clean Accessibility and Screen Recording states in a packaged app
  • Cover an off-centre and moved Settings window, negative-origin displays, locator fallback, and Settings-close teardown
  • Preserve the Stage 1 cursor anchor and loud diagnostic fallback when docking evidence is unavailable

Non-goals

  • Circumventing macOS consent or writing TCC state
  • Using Accessibility/System Events to locate System Settings
  • General settings automation or a reusable foreign-window controller

Design

Activity

  1. added theissue type on Sep 8, 2026
  2. added
    staleNo qualifying activity within the lifecycle policy window
    on Oct 1, 2026
  3. github-actions commented on Oct 1, 2026

    @github-actions

    This issue has had no human activity for 30 days and has been marked stale. It will be closed in 30 days unless someone comments.

    If the issue is still current, please confirm it against the latest main and add any information that would help move it forward. Assigned issues and issues labelled pinned are exempt from this policy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleNo qualifying activity within the lifecycle policy windowtrackingTracking or umbrella issue

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions