Jon Chambers
144c4c9223
Add a "sync" dimension to the "sent message" counter
2025-04-24 10:33:39 -05:00
Ravi Khadiwala
ab4fc4f459
Add skip low urgency push experiment
2025-04-24 10:32:46 -05:00
Jon Chambers
57be4d798b
Add a counter for attempts to send empty message lists
2025-04-17 10:27:46 -04:00
Ravi Khadiwala
2f2ae7cec5
simplify story tag calculation
2025-04-11 14:04:09 -05:00
Jon Chambers
aa5fd52302
Explicitly pass sync message sender device ID as an argument to sendMessage
2025-04-10 11:40:32 -04:00
Jon Chambers
01258de560
Throw a MismatchedDevicesException for empty message lists to support iOS clients
2025-04-09 21:53:58 -04:00
Jon Chambers
8d8a2a5583
Extract common message-sending methods into a shared utility class
2025-04-08 17:39:45 -04:00
Jon Chambers
ffa98e5b34
Reduce and centralize message-sending metrics
2025-04-07 11:08:53 -04:00
Jon Chambers
6013d00654
Introduce a distinct UA for server-generated messages
2025-04-07 11:01:01 -04:00
Jon Chambers
c03d63acb8
Centralize message size validation in actual message-sending methods
2025-04-07 11:01:01 -04:00
Jon Chambers
c6689ca07a
Internalize destination device list/registration ID checks in MessageSender
2025-04-07 09:15:39 -04:00
Jon Chambers
50f681ffe8
Centralize message length validation
2025-03-24 10:58:38 -04:00
Ravi Khadiwala
376458efa8
remove extra FCM QUOTA_EXCEEDED logging
2025-03-04 08:01:38 -05:00
Ravi Khadiwala
26c348520f
Revert "Add a 2-notification ttl=0 push notification experiment"
...
This reverts commit 4908a0aa9e .
2025-02-21 14:07:07 -06:00
ravi-signal
4908a0aa9e
Add a 2-notification ttl=0 push notification experiment
2025-02-13 10:25:25 -06:00
Ravi Khadiwala
794e254d90
Add null check to FCM error log condition
2025-02-07 13:48:36 -06:00
Ravi Khadiwala
a9975e524b
Add logs to FCM quota failures
2025-02-07 13:41:14 -06:00
Chris Eager
e4b0f3ced5
Use HTTP status code if FCM error code is unavailable
2025-02-05 14:17:05 -06:00
Jon Chambers
48ada8e8ca
Clarify roles/responsibilities of components in the message-handling pathway
2025-01-31 10:24:50 -05:00
Ravi Khadiwala
e30beb9c9f
Remove ZeroTtlDevicePushNotificationExperiment
2025-01-27 16:24:50 -06:00
Ravi Khadiwala
5a2e297991
Add ZeroTtlDevicePushNotificationExperiment
2025-01-27 12:58:28 -06:00
Jon Chambers
a96c0ec7a3
Enqueue async operations from a dedicated thread
2024-12-17 12:54:41 -05:00
Jon Chambers
6845ba9b90
Remove legacy DisconnectRequested protobuf entity
2024-11-12 11:54:36 -05:00
Jon Chambers
2f890f7bb3
Send push notifications if we receive a "new message" notification, but no listener is present
2024-11-12 09:34:59 -05:00
Jon Chambers
3fefb24d71
Retire the legacy disconnection request system
2024-11-12 09:09:05 -05:00
Jon Chambers
09fd5e8819
Shift authority for disconnection requests to DisconnectionRequestManager
2024-11-11 16:27:38 -05:00
Jon Chambers
a843f1af6c
Rename PubSubClientEventManager to WebSocketConnectionEventManager
2024-11-11 15:30:26 -05:00
Jon Chambers
2da00e162a
Resolve a merge-related naming conflict
2024-11-11 11:47:00 -05:00
Jon Chambers
767f6a90e0
Remove subscriptions if we get pub/sub events without a registered listener
2024-11-11 11:42:01 -05:00
Jon Chambers
562b495a18
Publish "messages persisted" events when unlocking queues after a persistence run
2024-11-11 11:41:29 -05:00
Jon Chambers
084607f359
Retire the explicit "handle new message available" system in favor of implicit presence-on-insert values
2024-11-11 11:41:29 -05:00
Jon Chambers
eeeb565313
Return destination client presence when inserting messages
2024-11-11 11:41:29 -05:00
Jon Chambers
6a1f4906c5
Retire the legacy message availability system
2024-11-07 12:09:21 -05:00
Jon Chambers
e536a40740
Publish "messages persisted" events
2024-11-07 11:25:48 -05:00
Jon Chambers
1c167ec150
Retire the legacy client presence system
2024-11-06 14:57:27 -05:00
Jon Chambers
96a4d4c8ac
Prepare to receive client events about persisted messages
2024-11-06 14:42:55 -05:00
Jon Chambers
9d19fc9ecc
Shift authority to the new pub/sub client presence system
2024-11-06 12:10:44 -05:00
Jon Chambers
ca7e7c288e
Format pub/sub hash tags consistently with message-related hash tags
2024-11-06 09:35:45 -05:00
Jon Chambers
3e36a49142
Reframe "connection ID" as "server ID" to avoid double-removing clients
2024-11-05 18:43:31 -05:00
Jon Chambers
8c984cbf42
Introduce and evaluate a client presence manager based on sharded pub/sub
2024-11-05 15:51:29 -05:00
Chris Eager
c2270e57df
Reduce log level for existing pending presence
2024-10-17 11:47:18 -05:00
Chris Eager
830a07012b
Subscribe to remote presence changes before setting the key
2024-10-15 16:54:52 -05:00
Jon Chambers
a9117010f9
Introduce FaultTolerantRedisClient
2024-10-09 09:22:10 -04:00
Jon Chambers
92698efd39
Remove machinery for setting/storing APNs VOIP tokens
2024-10-01 14:17:39 -04:00
Jon Chambers
b693cb98d0
Remove recurring background VOIP notification machinery
2024-10-01 14:17:39 -04:00
Jon Chambers
b2211de8d8
Retire ProvisioningAddress and WebsocketAddress
2024-10-01 12:59:58 -04:00
Chris Eager
374fe087bc
Use destination service ID from the envelope when removing views from shared MRM data
2024-09-16 13:19:11 -05:00
Chris Eager
b95a766888
For ephemeral messages, remove recipient view from shared MRM data if recipient is offline
2024-09-05 18:02:33 -05:00
Chris Eager
11601fd091
Multi-recipient message views
...
This adds support for storing multi-recipient message payloads and recipient views in Redis, and only fanning out on delivery or persistence. Phase 1: confirm storage and retrieval correctness.
2024-09-04 13:58:20 -05:00
Jon Chambers
659ac2c107
Generalize push notification scheduler and add support for delayed "new messages" notifications
2024-08-16 16:16:55 -04:00