Skip to content

feat: Add analytics, logging & accessibility#1637

Open
bthebladeprimer wants to merge 2 commits into
bn/feature/cc-07-design-tokensfrom
bn/feature/cc-08-analytics-logging-a11y
Open

feat: Add analytics, logging & accessibility#1637
bthebladeprimer wants to merge 2 commits into
bn/feature/cc-07-design-tokensfrom
bn/feature/cc-08-analytics-logging-a11y

Conversation

@bthebladeprimer
Copy link
Copy Markdown
Contributor

Summary

  • Adds CheckoutComponents analytics infrastructure: event models, session config, environment provider, event buffer, event service, network client, and payload builder
  • Adds analytics domain layer with DefaultAnalyticsInteractor and AnalyticsInteractorProtocol
  • Adds Datadog-compatible logging system: log models, session context, environment provider, payload builder, sensitive data masker, and network client
  • Adds accessibility framework: configurable identifiers, VoiceOver announcement service, SwiftUI accessibility extensions
  • Includes 12 test files covering analytics models/services, logging services/masker, and accessibility announcements

Context

PR 8 of 15 in the CheckoutComponents feature split. Provides cross-cutting concerns (observability, accessibility) used by all UI components. Depends on PR 7 (#1636).

Tracker: https://www.notion.so/32fca65dc30e81dabf66f33e2b58c3a1

Test plan

  • Verify analytics tests pass (AnalyticsEnvironmentProviderTests, AnalyticsEventBufferTests, AnalyticsEventServiceTests, AnalyticsModelsTests, AnalyticsPayloadBuilderTests)
  • Verify logging tests pass (LoggingServiceTests, LogEnvironmentProviderTests, LogPayloadBuilderTests, LoggingSessionContextTests, SensitiveDataMaskerTests, DatadogErrorClassifierTests)
  • Verify AccessibilityAnnouncementServiceTests passes
  • Confirm sensitive data masker correctly redacts PII (card numbers, emails, etc.)
  • Run: xcodebuild -workspace PrimerSDK.xcworkspace -scheme PrimerSDKTests -destination "platform=iOS Simulator,name=iPhone 16" test

@bthebladeprimer bthebladeprimer requested a review from a team as a code owner March 26, 2026 15:43
@bthebladeprimer bthebladeprimer self-assigned this Mar 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 26, 2026

Warnings
⚠️ > Pull Request size seems relatively large. If this Pull Request contains multiple changes, please split each into separate PR will helps faster, easier review.

Generated by 🚫 Danger Swift against af0c77e

@bthebladeprimer bthebladeprimer marked this pull request as draft March 26, 2026 16:32
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-07-design-tokens branch from be4aa75 to b71d3ee Compare March 31, 2026 14:06
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-08-analytics-logging-a11y branch 2 times, most recently from 1194a8a to 1bea835 Compare April 3, 2026 17:56
@bthebladeprimer bthebladeprimer marked this pull request as ready for review April 3, 2026 18:09
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-07-design-tokens branch from c9092d5 to 90d9580 Compare April 15, 2026 13:02
@bthebladeprimer bthebladeprimer requested a review from a team as a code owner April 15, 2026 13:02
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-08-analytics-logging-a11y branch from ef5c8c1 to af0c77e Compare April 15, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant