Skip to content

feat(aws): emulate SNS mobile push applications and endpoints - #3

Open
kamal wants to merge 1 commit into
mainfrom
feat/sns-mobile-push
Open

feat(aws): emulate SNS mobile push applications and endpoints#3
kamal wants to merge 1 commit into
mainfrom
feat/sns-mobile-push

Conversation

@kamal

@kamal kamal commented Sep 7, 2026

Copy link
Copy Markdown
Member

Review and landing order

Independent PR targeting main; no stack dependency on the other emulator addition. Ready for code review based on the package-level validation below. GitHub currently reports no PR checks, so this is local-validation evidence rather than a green hosted CI claim. Review and merge either addition first; recheck shared documentation/lockfile overlap on the second PR.

Snapshot: 2026-09-06. Recheck checks and approvals after rebasing or retargeting.

Summary

Applications using SNS mobile endpoints previously had no local push API. This adds platform application and endpoint management, plus Publish capture for APNS, APNS_SANDBOX, and GCM payloads without contacting device providers.

  • Support registration, attribute updates, disabling, deletion, and paginated listing with region/application isolation.
  • Capture the original message and selected platform payload; inspect by message ID or target ARN through HTTP read-back and the AWS inspector.
  • Preserve S3 root routing and include SNS state in snapshots and resets.
  • Document SDK setup, API coverage, inspection, and limitations in the README, AWS guide, docs site, and CLI help.

Validation

  • 67 AWS tests passed, including 11 new SNS SDK/wire tests and all existing AWS tests.
  • Coverage includes lifecycle/read-back, all three payload platforms, conflicting registrations, disabled/missing endpoints, malformed payloads, UTF-8 limits, pagination, isolation, snapshots/reset, and inspector escaping.
  • Core and AWS builds, AWS typecheck/lint, formatting, and whitespace checks passed.
  • Edited AWS MDX page compiled successfully.
  • Separate real SDK test against the built package passed: application/endpoint creation, structured Publish through /sns/, and HTTP capture read-back.

Limitations

Direct APNs HTTP/2 and direct FCM APIs are not implemented. This change emulates SNS acceptance and local capture, with no real delivery, provider feedback, retries, credential validation, or throttling. Topics/subscriptions, SMS, Subject, and MessageAttributes are unsupported. Provider payload validation is limited to JSON object shape. Full CLI and full docs-site builds were not run.

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