Skip to content

Fix broadcast channel management to match Apple's APNs API#239

Merged
kylebrowning merged 2 commits into
mainfrom
fix/broadcast-channel-management
Mar 26, 2026
Merged

Fix broadcast channel management to match Apple's APNs API#239
kylebrowning merged 2 commits into
mainfrom
fix/broadcast-channel-management

Conversation

@kylebrowning
Copy link
Copy Markdown
Owner

Summary

  • Channel ID is now sent via apns-channel-id header instead of URL path for read/delete operations, matching Apple's actual APNs broadcast API
  • Response body is optional since create returns only a channel ID header and delete returns 204 No Content
  • channelID moved from APNSBroadcastChannel struct to APNSBroadcastResponse (extracted from response headers)
  • Test server and tests updated to match the corrected API behavior

Based on work by @mattglover in #235.

Closes #235

Test plan

  • All 72 existing tests pass
  • Broadcast channel tests updated for new response types
  • Test server updated to simulate Apple's actual API behavior (header-based channel ID, 204 for delete)

🤖 Generated with Claude Code

Channel ID is now sent via apns-channel-id header instead of URL path
for read/delete operations. Response body is optional since create
returns only a channel ID header and delete returns 204 No Content.
Channel ID moved from APNSBroadcastChannel body to APNSBroadcastResponse.
Test server and tests updated to match.

Based on work by @mattglover in #235.
@kylebrowning kylebrowning force-pushed the fix/broadcast-channel-management branch from 852ad0d to 294203a Compare March 26, 2026 16:12
@kylebrowning kylebrowning merged commit 9c781ae into main Mar 26, 2026
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