Skip to content

feat(ios): route push notification taps to messages - #6159

Draft
square-tomb wants to merge 1 commit into
push-ios-blockers-1-2from
codex/ios-push-tap-routing
Draft

feat(ios): route push notification taps to messages#6159
square-tomb wants to merge 1 commit into
push-ios-blockers-1-2from
codex/ios-push-tap-routing

Conversation

@square-tomb

Copy link
Copy Markdown
Contributor

Summary

Adds the missing iOS notification-response path on top of the hardware-proven development push foundation in #2744.

  • the Notification Service Extension attaches a verified, local navigation target only after it retrieves and verifies the real relay event
  • the Runner buffers cold-start notification responses and bridges warm responses to Flutter
  • Flutter parks the response in the existing deep-link pipeline, switches to the originating local community when needed, and opens the exact channel/message
  • untrusted navigation metadata from the original APNs payload is stripped before resolution

This is intentionally a draft stacked on push-ios-blockers-1-2 / #2744 so the tap-routing delta stays reviewable. It does not modify or close #2744 or #3347 and does not change rollout state.

Hardware context

The underlying development path is already proven on the connected iPhone 12 mini:

  • development relay → development push gateway → sandbox APNs
  • NSE fetched/decrypted the real event and visibly rendered its real title/body on the lock screen
  • proof event: c678ddbe1a477c3f61056f0fbf13693f00c32873378ea39fa961a58f7c967e79

Physical revalidation of this new tap-routing build remains pending because Xcode's current tomb@squareup.com account token is missing and the Block team shows no Certificates, Identifiers & Profiles access. Automatic provisioning was retried for both the app/NSE and the XCUITest host/runner.

Checks

  • just mobile-check
  • focused Flutter push/deep-link tests: 16 passed
  • BuzzPushKit: 49 XCTest + 3 Swift Testing tests passed
  • Xcode 26.6 unsigned iOS Simulator workspace build succeeded
  • physical app automatic-signing retry: blocked before compilation by missing team account/profile
  • physical XCUITest automatic-signing retry: blocked before test build by missing Xcode token/profile

Scope

Development/internal evaluation only. No production infrastructure, external rollout, feature-flag, or release-state change.

Signed-off-by: Tom Brow <tomb@squareup.com>
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