lately: real macOS app target, and provision the notification extension #27

Merged
founder merged 1 commit from lately-macos-target into main 2026-08-02 00:25:10 +00:00
Owner

Implements the Lately macOS Bazel target (option C, part B) and fixes the iOS notification-extension provisioning gap. See commit message for detail.

Blocked on a human step: ASC API returns FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED — the pending Apple Developer agreement must be accepted in App Store Connect before Release: Signing Import can create the new profile.

🤖 Generated with Claude Code

Implements the Lately macOS Bazel target (option C, part B) and fixes the iOS notification-extension provisioning gap. See commit message for detail. **Blocked on a human step**: ASC API returns `FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED` — the pending Apple Developer agreement must be accepted in App Store Connect before `Release: Signing Import` can create the new profile. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
lately: real macOS app target, and provision the notification extension
Some checks failed
deploy-web/web-eval-ok web-container drv evaluated
deploy-web/detached-started realization detached
deploy-web/web-built container built
deploy-web/agenix-built rc=0 3fd5ba4f7ef6ce0f029e7e9b8.sqlite' is busy /nix/store/j3666hp2alb0zqck9jk8mandhmk53970-agenix-0.15.0
Namespace: Build Images / Refresh macOS runner lane (push) Successful in 7s
deploy-web/cf-decrypted cloudflare token decrypted, length 40
deploy-web/capped-eval rc=0 d27aa8fe21585495c3fd5ba4f7ef6ce0f029e7e9b8.sqlite' is busy /nix/store/rv27z6wxgngf0zs4kz0gkbswjj50dfhy-agenix-0.15.0.drv
Release: If Needed / Check (Release Needed) (push) Successful in 6s
deploy-web/fly-decrypted fly token decrypted, length 651
deploy-web/masked add-mask emitted
deploy-web/decrypt-env-ok github env written
deploy-web/build-entered build step running
deploy-web/prev-detached paths: /nix/store/49fzsqw17py59blv86np7bcxrpq7rra7-runtime-deps error: Build failed due to failed dependency
deploy-web/detached-done Output paths: /nix/store/zm2m01qkj5zsymkscwl856gfplhlh1gi-runtime-deps error: Build failed due to failed dependency
deploy-web/pipeline-launched detached deploy pipeline started
deploy-web/pipe-start pipeline running detached
deploy-web/pipe-site site path empty: ite-dbaf91c.drv'. Reason: 1 dependency failed. Output paths: /nix/store/c2hlacmzp1mn70s16yrrxh2h65mamm7w-key-store-web-site-dbaf91c error: Build failed due to failed dependency
deploy-web/build-error pipeline unfinished or failed at job death; see pipe-* statuses
Deploy: Web / Deploy (Web) (push) Failing after 27s
Release: Signing Preflight / Release (Signing Preflight) (push) Successful in 57s
Namespace: Build Images / Refresh Linux runner image (push) Successful in 57s
Build: Apple / Check (SwiftLint) (push) Successful in 1m53s
Build: Apple / Check (SwiftLint) (pull_request) Successful in 2m2s
Deploy: API / Deploy (API) (push) Successful in 2m54s
Build: Apple / Build (iOS) (push) Successful in 37s
Build: Apple / Build (visionOS) (push) Successful in 29s
Build: Apple / Build (iOS) (pull_request) Successful in 32s
Build: Apple / Build (visionOS) (pull_request) Successful in 28s
Build: Apple / Build (macOS) (pull_request) Successful in 1m51s
Build: Apple / Build (macOS) (push) Successful in 5m21s
dbaf91c6bf
Two gaps stood between the repo and shippable Lately builds.

macOS: build_lately_macos was the "no Bazel application target yet" stub even
though everything downstream -- sign-lately-macos-app, tarball verification
against org.lately.phi, DMG packaging -- was already wired. Add the missing
pieces: an AppKitMail swift_library (the one Lately module that had no Bazel
target), a LatelyMacApp sources library for Apps/macOS/LatelyMac, and a
macos_application built from the app's own Info.plist (LSMinimumSystemVersion
14.0) and entitlements. build_lately_macos now builds the target universal
(arm64 + x86_64), unpacks the archive into build/lately/macos/Lately.app, and
fails loudly if the bundle is missing.

iOS: the JMAP push work added lately_notification_ios_release_extension with a
provisioning profile the signing sync never produces --
org.lately.phi.notification-service was missing from the target list in
sync-ios-app-store-profiles.mjs, so the release build died on a missing
mobileprovision. Add it; Release: Signing Import creates the profile on its
next run.

Note for that run: the ASC API currently returns
FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED, so the account holder has to
accept the pending Apple Developer agreement before the sync can succeed, and
the org.lately.phi.notification-service bundle id may still need registering.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
key-store/key.store!27
No description provided.