Tags: EClinick/juice
Tags
Fix helper rejecting every client over a nil Team ID SecCodeCopySigningInformation only includes kSecCodeInfoTeamIdentifier when certificate-derived signing information is requested with the kSecCSSigningInformation flag. With default flags the dictionary omits the key, so the production helper derived a nil Team ID, built no client requirement, and failed closed - rejecting every XPC connection on every machine. Per-app energy therefore never worked in production; development builds masked the bug because DEV_HELPER uses an identifier-only requirement and never runs this lookup. Verified end to end with a Developer ID-signed build: the helper now accepts the app and per-app energy data flows. Claude-Session: https://claude.ai/code/session_01ShamFr2Mh4o1rNaAgEfK1S
Keep the menu bar icon alive through stale removal state macOS 26 remembers per bundle identifier that a status item was removed from the menu bar, in a SIP-protected daemon that ControlCenter restarts and the System Settings toggle do not clear. On the next launch it pushes a hide action ~150 ms after the item registers, and MenuBarExtra's termination-on-removal quits the app before the icon appears - on every launch, with no visible error. Launching the app is an explicit request to show the icon, so a startup guard now locates MenuBarExtra's underlying status item, temporarily disables termination-on-removal, and re-asserts visibility if the system hides the item. The standard remove-to-quit behavior returns once startup settles. Claude-Session: https://claude.ai/code/session_01ShamFr2Mh4o1rNaAgEfK1S
PreviousNext