Skip to content

feat: Sign in with Apple + observability fixes#13

Merged
cortexark merged 2 commits intomainfrom
fix/production-readiness
Mar 15, 2026
Merged

feat: Sign in with Apple + observability fixes#13
cortexark merged 2 commits intomainfrom
fix/production-readiness

Conversation

@cortexark
Copy link
Copy Markdown
Owner

Summary

  • Add Sign in with Apple as the first gate in the app launch flow (before legal/onboarding)
  • Store Apple user identifier in Keychain, validate on subsequent launches
  • Replace all debugPrint calls with AppLogger in ConnectivityService and SubscriptionService
  • Connect CrashBreadcrumbs to MetricKit diagnostic handler
  • Add appleSignInCompleted and appleSignInFailed analytics events
  • Add email field to UserProfile model

New Files

  • iOS/Services/AppleSignInService.swift — Keychain storage + credential validation
  • iOS/Views/AppleSignInView.swift — Sign-in screen UI with ThumpBuddy

Modified Files

  • iOS/ThumpiOSApp.swift — sign-in routing gate + credential check on launch
  • Shared/Models/HeartModels.swift — email field on UserProfile
  • iOS/iOS.entitlements — Sign in with Apple capability
  • project.yml — AuthenticationServices framework
  • iOS/Services/ConnectivityService.swift — debugPrint → AppLogger
  • iOS/Services/SubscriptionService.swift — debugPrint → AppLogger
  • iOS/Services/MetricKitService.swift — CrashBreadcrumbs integration
  • iOS/Services/AnalyticsEvents.swift — sign-in event names

Test plan

  • iOS build passes (iPhone 17 Pro simulator)
  • watchOS build passes (Apple Watch Series 11 simulator)
  • On-device: app shows Sign in with Apple → Legal → Onboarding → Dashboard
  • Credential revocation returns user to sign-in screen
  • Debug skip button works in DEBUG builds

- Enable CODE_SIGN_STYLE: Automatic in project.yml for device deployment
- Wrap LocalStore print() statements in #if DEBUG to prevent console
  leakage in release builds
Add Sign in with Apple as the first step in the app launch flow,
storing credentials locally via Keychain. Replace debugPrint calls
with AppLogger across ConnectivityService and SubscriptionService,
connect CrashBreadcrumbs to MetricKit diagnostics, and add sign-in
analytics events.
@cortexark cortexark merged commit 8909911 into main Mar 15, 2026
@cortexark cortexark deleted the fix/production-readiness branch March 15, 2026 08:48
cortexark added a commit that referenced this pull request Mar 19, 2026
* fix: production readiness — automatic signing + guard debug prints

- Enable CODE_SIGN_STYLE: Automatic in project.yml for device deployment
- Wrap LocalStore print() statements in #if DEBUG to prevent console
  leakage in release builds

* feat: add Sign in with Apple + observability improvements

Add Sign in with Apple as the first step in the app launch flow,
storing credentials locally via Keychain. Replace debugPrint calls
with AppLogger across ConnectivityService and SubscriptionService,
connect CrashBreadcrumbs to MetricKit diagnostics, and add sign-in
analytics events.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant