Commit Graph

233 Commits

Author SHA1 Message Date
Jon Chambers
cd957e0347 Standardize circuit breaker/retry names 2025-08-28 13:38:25 -04:00
Jon Chambers
bc20aee7c9 Rename CircuitBreakerUtil to ResilienceUtil 2025-08-27 14:45:29 -04:00
Jon Chambers
8825396fc1 Restore Redis retries for select operations 2025-08-27 11:52:16 -04:00
Jon Chambers
1cc933b6bc Pause if we hit an exception while processing scheduled notifications 2025-08-27 11:05:17 -04:00
Jonathan Klabunde Tomer
78a7112675 Use native exponential histograms 2025-08-21 14:53:21 -07:00
Jonathan Klabunde Tomer
36d0c4422e Configure Micrometer distribution buckets for OpenTelemetry
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2025-08-11 11:45:33 -07:00
Jon Chambers
d96c360016 Introduce MessageStream and RedisDynamoDbMessagePublisher 2025-08-08 09:27:05 -04:00
Jon Chambers
5a65a46fc1 Remove an unused constant 2025-08-04 09:59:17 -04:00
Jon Chambers
30774bbc40 Remove special-case handling for an extremely narrow message delivery edge case 2025-07-29 16:52:19 -04:00
Jon Chambers
038c68c594 Rename WebSocketConnectionEventManager/Listener to MessageAvailabilityManager/Listener 2025-07-29 11:29:17 -04:00
Jon Chambers
cf222e1105 Scope disconnection request listeners to a single connection 2025-07-29 11:17:48 -04:00
Jonathan Klabunde Tomer
4f0337021c Use Micrometer rather than Dropwizard for a few metrics 2025-07-28 14:32:42 -07:00
Jonathan Klabunde Tomer
00062fdd5c Revert "Use Micrometer rather than Dropwizard for a few metrics"
This reverts commit 2bc91c1f21.
2025-07-25 10:44:42 -07:00
Jonathan Klabunde Tomer
2bc91c1f21 Use Micrometer rather than Dropwizard for a few metrics 2025-07-25 10:17:50 -07:00
Jon Chambers
4ccd39fd55 Validate intra-account messages before applying number changes 2025-07-17 11:34:50 -04:00
Ravi Khadiwala
295cedc075 remove experiment configuration for low urgency pushes 2025-06-17 09:43:35 -05:00
Jon Chambers
9ec66dac7f Make getRegistrationId identity-type-aware 2025-05-14 14:39:11 -04:00
Jon Chambers
13fc0ffbca Assume that PNI registration IDs are always present on Device records 2025-05-14 14:39:11 -04:00
Ravi Khadiwala
894ca6d290 remove ANDROID_SKIP_LOW_URGENCY_PUSH_EXPERIMENT 2025-05-13 13:59:28 -05:00
Ravi Khadiwala
847b25f695 Add experiment to coalesce android notifications 2025-05-13 13:59:28 -05:00
Ravi Khadiwala
703a05cb15 Support scheduling background FCMs 2025-05-13 13:59:28 -05:00
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