Skip to content

APNS Broadcast Channel Management functioning#235

Closed
mattglover wants to merge 4 commits into
kylebrowning:fix/broadcast-pushfrom
mattglover:fix/broadcast-push
Closed

APNS Broadcast Channel Management functioning#235
mattglover wants to merge 4 commits into
kylebrowning:fix/broadcast-pushfrom
mattglover:fix/broadcast-push

Conversation

@mattglover
Copy link
Copy Markdown

@mattglover mattglover commented Jan 16, 2026

Raising a PR for discussion.
cc. @kylebrowning

Operation responses :

  • ✅ create
    Status: 200 (OK)
    <channelId>

  • ✅ delete
    Status: 204 (No Content)
    No body

  • ✅ read
    Status: 200 (OK)
    Body:
{
	"channelId": <channelId>,
	"pushType": "LiveActivity",
	"messageStoragePolicy": <messageStoragePolicy rawValue>
}

  • ✅ listAll
    Status: 200 (OK)
    Body:
[
	<channelId>,
	...
]

Copy link
Copy Markdown
Owner

@kylebrowning kylebrowning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good. I have one question.

This also needs tests updaters but if that's too confusing I can help.

Comment thread Sources/APNSCore/Broadcast/APNSBroadcastResponse.swift
@mattglover
Copy link
Copy Markdown
Author

Code looks good. I have one question.

This also needs tests updaters but if that's too confusing I can help.

Yeah, I would need to understand the testing approach and strategy here, so help would be great.

kylebrowning added a commit that referenced this pull request Mar 26, 2026
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 added a commit that referenced this pull request Mar 26, 2026
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 added a commit that referenced this pull request Mar 26, 2026
* Add’s push type for Broadcast

* Fix broadcast channel management to match Apple's APNs API

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.
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.

3 participants