Overhauls delivery service to allow multiple providers
Respects the shouldPush flag when set
Checks message hmacs using the subscription's hmac key
Generated summary (powered by Graphite)
> ## TL;DR
> This pull request includes changes to logging, message delivery mechanisms, installation deletion, and message parsing in the API server. It also adds new structs, methods, and constants related to message delivery and topics.
>
> ## What changed
> - Added logging statements for installation deletion, subscribing, and unsubscribing
> - Added functions for converting delivery mechanisms and handling HMAC updates
> - Added structs and methods for message delivery, message context, subscriptions, and HMAC keys
> - Added constants for message types and prefixes
> - Added a new file "dispatcher.go" and "constants.go"
> - Updated database migration script for HMAC keys and subscriptions table
>
> ## How to test
> - Review the changes made to the RegisterInstallation and DeleteInstallation functions in the api.go file
> - Check the new structs, methods, and constants added for message delivery and topics
> - Test the message parsing functions in the xmtp package
> - Run the updated test function Test_IdentifyV2Invite in the message_test.go file
>
> ## Why make this change
> - Improve logging for installation operations
> - Enhance message delivery mechanisms
> - Add support for HMAC authentication
> - Define message types and prefixes for topics
> - Ensure accurate parsing of conversation messages
Summary
shouldPush
flag when setGenerated summary (powered by Graphite)
> ## TL;DR > This pull request includes changes to logging, message delivery mechanisms, installation deletion, and message parsing in the API server. It also adds new structs, methods, and constants related to message delivery and topics. > > ## What changed > - Added logging statements for installation deletion, subscribing, and unsubscribing > - Added functions for converting delivery mechanisms and handling HMAC updates > - Added structs and methods for message delivery, message context, subscriptions, and HMAC keys > - Added constants for message types and prefixes > - Added a new file "dispatcher.go" and "constants.go" > - Updated database migration script for HMAC keys and subscriptions table > > ## How to test > - Review the changes made to the RegisterInstallation and DeleteInstallation functions in the api.go file > - Check the new structs, methods, and constants added for message delivery and topics > - Test the message parsing functions in the xmtp package > - Run the updated test function Test_IdentifyV2Invite in the message_test.go file > > ## Why make this change > - Improve logging for installation operations > - Enhance message delivery mechanisms > - Add support for HMAC authentication > - Define message types and prefixes for topics > - Ensure accurate parsing of conversation messages