Chris Eager
830a07012b
Subscribe to remote presence changes before setting the key
2024-10-15 16:54:52 -05:00
Chris Eager
46227295ff
Add test for concurrent connections in ClientPresenceManager
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
Jon Chambers
1af8bb494e
Generalize "is idle?" check in idle device notification scheduler
2024-08-05 15:19:39 -04:00
Jon Chambers
045ec9689d
Introduce a job scheduler and experiment for sending notifications to idle devices
2024-07-29 11:16:53 -04:00
Jon Chambers
37369929f3
Retire PushLatencyManager
2024-07-17 15:01:23 -04:00
Jon Chambers
02b9ceb4c7
Discard APNs tokens if the APNs server reports that the token is expired
2024-07-08 15:27:23 -04:00
Jon Chambers
2f76738b50
Expire APNs tokens if they haven't been updated since the expiration timestamp
2024-06-25 11:53:23 -04:00
Jon Chambers
1cf174a613
Include "token invalidation timestamp" in push notification responses
2024-06-25 11:53:23 -04:00
Jon Chambers
1cd16eaa08
Delete FCM tokens immediately if FCM reports that they're no longer active
2024-06-25 11:53:23 -04:00
Jon Chambers
cb5cd64c05
Gracefully handle NotPushRegisteredException
2024-06-25 11:23:16 -04:00
Chris Eager
0e4be0c85a
Add tests for WhisperServerService#run
...
Additionally, `LocalWhisperServerService` may be used for integration testing.
2024-04-29 11:05:35 -05:00
ravi-signal
2adf1e5017
Avoid modification of Account from @ReadOnly endpoint
2024-02-28 15:18:12 -06:00
Jon Chambers
00e72a30c9
Assume all accounts have primary devices
2023-12-06 10:28:19 -05:00
Ravi Khadiwala
331bbdd4e6
replace deprecated apache RandomUtils
2023-12-05 10:48:18 -06:00
Katherine
d4ef2adf0a
Remove low priority attempt login notification workaround for old iOS clients
2023-11-13 12:06:55 -05:00
Chris Eager
2bc4412d66
Encapsulate device ID in ProvisioningAddress
2023-11-02 11:48:10 -05:00
Chris Eager
6a428b4da9
Convert Device.id from long to byte
2023-11-02 11:48:10 -05:00
Jon Chambers
f0ab52eb5d
Rename "master device" to "primary device"
2023-10-20 10:52:13 -04:00
Chris Eager
8c7975d89a
Clear presence only if the connection’s displacement listener is still present
2023-10-03 11:42:25 -05:00
Chris Eager
0e989419c6
Add metric for late removal of message availability and displacement listeners
2023-09-19 12:04:24 -05:00
Jon Chambers
4ead8527c8
Use ClientReleasesManager when deciding whether to add client version tags
2023-07-26 16:41:54 -04:00
Sergey Skrobotov
352e1b2249
test classes moved to same packages with components they test
2023-07-17 13:34:58 -07:00
Jon Chambers
6db97f5541
Standardize client tag version handling; add client version tags to delivery latency metrics
2023-07-11 13:35:29 -04:00
Chris Eager
b81a0e99d4
Always have 0 ApnPushNotificationScheduler worker threads in front-end service
2023-06-28 14:17:23 -05:00
Jon Chambers
0122b410be
Include push notification urgency in push latency metrics
2023-06-21 15:10:26 -04:00
Chris Eager
6043c1a4e8
Add ScheduledApnPushNotificationSenderServiceCommand
2023-05-18 11:44:01 -05:00
Chris Eager
57b6c10dd1
Remove obsolete dynamic configuration
2023-05-03 13:20:44 -05:00
Jon Chambers
11829d1f9f
Refactor provisioning plumbing to use Lettuce
2023-04-18 12:04:54 -04:00
Katherine Yen
c485d317fb
Mock apnPushNotificationScheduler
2023-04-17 10:55:15 -07:00
Katherine Yen
350682b83a
Lock account and send notification when someone passes phone verification but fails reglock
2023-04-17 10:30:36 -07:00
ravi-signal
8847cb92ac
Don't block when scheduling background apns pushes
2023-04-10 13:51:36 -05:00
Chris Eager
3ccfeb490b
Add retry after exceptions during a cluster topology change event callback
2023-03-29 11:41:19 -05:00
Sergey Skrobotov
c32067759c
refactoring: use constants for header names
2022-11-15 11:16:49 -08:00
erik-signal
fe60cf003f
Clean up testing with clocks.
2022-10-21 12:39:47 -04:00
Jon Chambers
b4281c5a70
Send non-urgent push notifications with lower priority
2022-08-12 11:06:31 -04:00
Jon Chambers
5f6b66dad6
Add support for scheduling background push notifications
2022-08-12 10:57:59 -04:00
Jon Chambers
c2be0af9d9
Refactor ApnPushNotificationSchedulerTest to use a Clock
2022-08-12 10:57:59 -04:00
Jon Chambers
a53a85d788
Refactor scheduled APNs notifications in preparation for future development
2022-08-12 10:47:49 -04:00
Jon Chambers
9e9333424f
Retire RetryingApnsClient
2022-08-04 09:59:18 -04:00
Jon Chambers
6f0faae4ce
Introduce common push notification interfaces/pathways
2022-08-03 10:07:53 -04:00
Jon Chambers
0a6d724f2c
Remove GCMSender
2022-08-02 17:31:35 -04:00
Jon Chambers
421d594507
Introduce an FcmSender
2022-08-02 15:34:09 -04:00