Skip to content

fix(relay): release stalled Apple push deliveries - #295

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-06-apns-deadlines
Sep 6, 2026
Merged

fix(relay): release stalled Apple push deliveries#295
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-06-apns-deadlines

Conversation

@rynfar

@rynfar rynfar commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

A stalled Apple push request could hold a relay delivery batch open indefinitely. Give HTTP sending and response-body reading ten seconds each, cancel stalled requests, and let subsequent signed jobs run.

Adopts approved B12, upstream #9734, 088cc3f95599b7b933289d719fa1e9b0608cb4cd. Keeps Pylon’s typed transport errors, delivery records, queue policy, bundle identities and notification topics. JWT retrieval remains outside the deadlines; uncertain results are not retried. Applies to iOS notifications and Live Activities for every provider.

Validation: all 50 focused APNs client/delivery tests pass, including both timeout phases for both request types, cancellation signals and queue continuation. Relay typecheck, targeted lint and diff checks pass. No push was sent to a real device. Relay deployment is separate from this source change; no mobile binary update is needed for this server behavior.

Model: GPT-6 Astra. Harness: Codex.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Give HTTP sends and response-body reads ten seconds each. Keep the existing typed transport errors, delivery records, and queue policy.

Abort stalled requests and let the next signed job run. JWT retrieval is outside these deadlines. Do not add retries for an uncertain response result.

Created with GPT-6 Astra (preview) in Codex.

(cherry picked from commit 088cc3f95599b7b933289d719fa1e9b0608cb4cd)
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS labels Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.6 KiB −12 B (−0.1%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −12 B (−0.2%) 7.3 KiB
Codex Live turn WebSocket wire 6.6 KiB 6.6 KiB 0 B (0.0%) 7.8 KiB
Codex Live turn WebSocket decoded 56.5 KiB 56.5 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 8 8 0 (0.0%) 21
Claude Total thread wire 13.6 KiB 13.6 KiB +17 B (+0.1%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +3 B (+0.0%) 7.3 KiB
Claude Live turn WebSocket wire 6.5 KiB 6.6 KiB +14 B (+0.2%) 7.8 KiB
Claude Live turn WebSocket decoded 57.3 KiB 57.3 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 8 8 0 (0.0%) 21

Baseline: 10733dc · PR result: 7b181af · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 276fe3a into pylon Sep 6, 2026
17 checks passed
@rynfar
rynfar deleted the upstream/2026-09-06-apns-deadlines branch September 6, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants