Chris Eager
6043c1a4e8
Add ScheduledApnPushNotificationSenderServiceCommand
2023-05-18 11:44:01 -05:00
Sergey Skrobotov
287e2fa89a
Moving secret values out of the main configuration file
2023-05-17 11:25:59 -07:00
Katherine Yen
c309afc04b
Displace client presence when existing account reregisters
2023-05-05 11:31:18 -07: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
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
23d5006f70
Add prefix to executor metric names
2023-04-05 09:51:53 -05:00
Chris Eager
3ccfeb490b
Add retry after exceptions during a cluster topology change event callback
2023-03-29 11:41:19 -05:00
Chris Eager
f5c62a3d85
Migrate from bounded elastic to dedicated executor for message delivery
2023-03-22 12:57:44 -05:00
Sergey Skrobotov
b9b4e3fdd8
Adding a uniform configuration for all json/yaml mapper use cases: part 1
2023-02-23 16:38:48 -08:00
Jon Chambers
cb72158abc
Add the presence of spam reporting tokens as a dimension
2023-02-14 12:35:21 -05:00
erik-signal
80a3a8a43c
Lock account when number owner lacks registration lock.
2022-11-09 14:03:09 -05:00
Chris Eager
d186245c5c
Move all receipt sending work to executor
2022-11-04 11:08:06 -05:00
Jon Chambers
83ab926f96
Add a dimension for story messages
2022-10-05 15:15:22 -04:00
Jon Chambers
07cb3ab576
Add a "sealed sender" dimension to the sent message counter
2022-08-16 13:11:12 -07: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
2bfe2c8ff8
Add an "urgent" dimension to the "sent messages" counter
2022-08-10 15:00:46 -04:00
Jon Chambers
39562775d9
Use a fixed-size thread pool for sending FCM notifications
2022-08-04 15:37:22 -04:00
Jon Chambers
4a0ef1f834
Measure the time taken to send APNs push notifications
2022-08-04 10:43:07 -04:00
Jon Chambers
85b16b674d
Measure the time taken to send FCM push notifications
2022-08-04 10:43:07 -04:00
Jon Chambers
ab5d8ba120
Use ApiFutures#addCallback for FCM futures
2022-08-04 10:43:07 -04:00
Jon Chambers
28076335e0
Generate APNs payloads using a payload builder
2022-08-04 10:37:30 -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
8956e1e0cf
Check for null FCM error codes
2022-08-02 17:29:31 -04:00
Jon Chambers
c9ae991aa3
Add an experiment to allow a phased transition from the old GCM API to the current FCM API
2022-08-02 15:34:09 -04:00
Jon Chambers
421d594507
Introduce an FcmSender
2022-08-02 15:34:09 -04:00
Chris Eager
a06a663b94
Use the envelope’s destination UUID for receipt source UUID
2022-08-02 08:34:20 -07:00
Chris Eager
3d2f7e731f
Remove Envelope.source
2022-08-02 08:34:20 -07:00
Jon Chambers
1ba00a66eb
Pass the reason for displacement to presence displacement listeners
2022-07-13 15:30:03 -04:00
Jon Chambers
92d36b725f
Allow presence keys to expire if not periodically renewed
2022-07-13 11:28:55 -04:00
Jon Chambers
5b7d5d2b93
Reduce "unrecoverable error" messages when sending GCM notifications from WARN to DEBUG
2022-03-25 14:34:44 -07:00
Jon Chambers
2b27db18d8
Count GCM failures by error code
2022-03-25 14:34:44 -07:00
Chris Eager
de68c251f8
Instrument the receipt sender executor
2022-03-11 17:20:52 -08:00
Chris Eager
7c9ae3561d
Send delivery receipts asynchronously
2022-03-11 16:34:22 -08:00
Chris Eager
fef37f739b
Remove unused classes and methods
2022-03-10 11:08:38 -05:00
Jordan Rose
c367a71223
APNS: include a collapse-id for non-VOIP notifications
...
This has two benefits:
- The APNS server should only send an iOS client a single push
notification for any missed messages while the device is offline
(server-side coalescing). Note that the client can still turn that
into multiple "user notifications" as it pulls from its queue.
- If multiple notifications get delivered but iOS is unable to process
them (say, because the phone just restarted and hasn't been unlocked
yet), the user should only get one "You may have received messages"
notification (client-side coalescing).
2022-02-18 10:41:10 -05:00
Chris Eager
13e346d4eb
Distinguish local vs remote in ClientPresenceManager#disconnectPresence
2021-12-02 14:32:42 -08:00
Jon Chambers
62aa0cef39
Set destination UUIDs for receipts
2021-12-02 14:06:49 -05:00
Jon Chambers
aaa2a6eef1
Break down push latency metrics by VOIP/not-VOIP and optionally by client version
2021-11-10 10:35:41 -05:00
Jon Chambers
3398955c1a
Add basic support for phone number identifiers
2021-11-09 10:23:08 -05:00
Jon Chambers
98e41f9a37
Improve Redis exception handling
2021-09-22 10:31:39 -04:00
Jon Chambers
c2ba8ab562
Identify receipt destinations by UUID instead of e164
2021-09-16 10:47:03 -04:00
Chris Eager
539b62a829
Add request event listener that handles device.isEnabled changes
2021-09-08 13:11:09 -07:00
Jon Chambers
1f815b49dd
Measure APNs rejections by reason
2021-08-27 11:52:29 -04:00