Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[autoendpoint] Route APNS notifications #164

Closed
AzureMarker opened this issue Jun 22, 2020 · 0 comments · Fixed by #201 or #231
Closed

[autoendpoint] Route APNS notifications #164

AzureMarker opened this issue Jun 22, 2020 · 0 comments · Fixed by #201 or #231
Assignees
Labels
8 Estimate - Medium...ish

Comments

@AzureMarker
Copy link
Contributor

WebPush notifications (destined for iOS user agents) should be routed through Apple Push Notification Service.

@AzureMarker AzureMarker added this to the Autoendpoint Rust Server milestone Jun 22, 2020
@AzureMarker AzureMarker self-assigned this Jun 22, 2020
@AzureMarker AzureMarker added this to Prioritized in Services Engineering Jun 22, 2020
@AzureMarker AzureMarker moved this from Prioritized to In Progress in Services Engineering Jul 24, 2020
@AzureMarker AzureMarker added the 8 Estimate - Medium...ish label Jul 24, 2020
@AzureMarker AzureMarker linked a pull request Jul 24, 2020 that will close this issue
@AzureMarker AzureMarker moved this from In Progress to In Review in Services Engineering Jul 24, 2020
@AzureMarker AzureMarker moved this from In Review to In Progress in Services Engineering Jul 27, 2020
@AzureMarker AzureMarker moved this from In Progress to In Review in Services Engineering Jul 27, 2020
Services Engineering automation moved this from In Review to Done Jul 28, 2020
AzureMarker added a commit that referenced this issue Jul 28, 2020
* Start working on the APNS router

* Use a fork of a2 temporarily to support our use case

Changes made in the fork:
1. Support creating a client with the raw cert and key data (no
   password).
2. Impl Deserialize for the APS struct (and sub-structs)

Also improved error handling during APNS router creation, and started on
the router impl.

* Implement the APNS router happy path

* Handle APNS errors

* Switch to the "autoendpoint" branch of the a2 fork

This branch contains all of the changes made in the fork.

* Implement Router::register for ApnsRouter

* Remove old TooMuchData error

* Abstract the a2 client behind a trait and add a bunch of APNS tests

* Convert float values in APS data from DynamoDb into integers

Also, if the user has invalid APS data in the DB, an error is returned
during routing.

* Remove redundant APNS metric

* Give APNS an expiration timestamp when routing notifications

* Check the final APNS payload against the size limit

* Drop the user if APNS says they are unregistered

* Add some details about the a2 fork

Closes #164
@tublitzed tublitzed moved this from Done to Archived in Services Engineering Jul 30, 2020
This was referenced Oct 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8 Estimate - Medium...ish
Projects
1 participant