Jon Chambers
8f53152c3e
Only send the "queue cleared" message once per websocket session.
2020-09-11 13:12:17 -04:00
Jon Chambers
7bbc88d716
Let processStoredMessages handle requery logic.
2020-09-11 13:12:17 -04:00
Jon Chambers
68256d2343
Only allow one thread to process stored messages at a time.
2020-09-11 13:12:17 -04:00
Ehren Kret
f88c440c48
Automatically retry when Twilio returns unreachable ( #190 )
...
* Parse and log the Twilio error code
* Automatically retry without sender ID when Twilio returns unreachable
* Remove attempt count and pass around whether or not sender id was used
2020-09-10 13:58:39 -05:00
Jon Chambers
cfa56ba6d4
Remove the "send online messages via keyspace notifications" feature flag.
2020-09-10 10:41:20 -04:00
Jon Chambers
2c6b646d87
Enforce no capability downgrade on device verification
2020-09-09 16:05:00 -04:00
Jon Chambers
e7572094b5
Require all enabled devices to support GV2.
2020-09-09 16:05:00 -04:00
Jon Chambers
5e34823a49
Optionally send online-only messages via keyspace notifications.
2020-09-09 14:42:09 -04:00
Jon Chambers
fdef21a871
Record and listen for ephemeral messages in a separate queue.
2020-09-09 14:42:09 -04:00
Jon Chambers
d40cff8a99
Revert "Add a system for storing, retrieving, and notifying listeners about ephemeral (online) messages."
...
This reverts commit 06754d6158
.
2020-09-08 15:55:09 -04:00
Jon Chambers
8927e45ded
Revert "Optionally send online-only messages via keyspace notifications."
...
This reverts commit 12fe28d8ab
.
2020-09-08 15:55:09 -04:00
Jon Chambers
1a93df92d4
Replace DeliveryStatus with a simple boolean.
2020-09-08 11:29:33 -04:00
Jon Chambers
12fe28d8ab
Optionally send online-only messages via keyspace notifications.
2020-09-08 11:19:55 -04:00
Jon Chambers
06754d6158
Add a system for storing, retrieving, and notifying listeners about ephemeral (online) messages.
2020-09-08 11:14:42 -04:00
Jon Chambers
1d5087374e
Jettison UUID-or-E164 plumbing in favor of UUID-only.
2020-09-08 09:30:47 -04:00
Jon Chambers
8356264fe0
Rename RedisClusterMessagesCache and related classes to just MessagesCache.
2020-09-08 09:30:47 -04:00
Jon Chambers
18ecd748dd
Entirely discard the old message cache machinery.
2020-09-08 09:30:47 -04:00
Jon Chambers
e324f27655
Stop sending/processing CONNECTED pub/sub messages.
2020-09-03 13:52:43 -04:00
Jon Chambers
afd645fb11
Retrieve messages using commands available in Redis 3.
2020-09-03 13:31:55 -04:00
Jon Chambers
5b42593fbb
Persist messages one page at a time.
2020-09-03 12:08:46 -04:00
Jon Chambers
25f3c6a548
Drop our dependency on commons-pool.
2020-09-03 11:05:10 -04:00
Jon Chambers
5c04f2634a
Use a dedicated executor service for dispatching keyspace notifications.
2020-09-03 11:04:48 -04:00
Jon Chambers
ad01610d1e
Rely on the client presence manager to decide whether to send push notifications.
2020-09-03 11:04:48 -04:00
Jon Chambers
697c380cd1
Close websocket connections when displaced.
2020-09-03 11:04:48 -04:00
Jon Chambers
81e8143a43
Rely solely on the clustered message cache.
2020-09-02 11:57:33 -04:00
Jon Chambers
8409986ef5
Mirror persistence operations from the new persister to the old persister.
2020-09-02 11:02:40 -04:00
Jon Chambers
2b50367d7f
Put message persisters behind feature flags.
2020-09-02 11:02:40 -04:00
Jon Chambers
1dcc491fec
Move cache-mirroring operations to the calling thread.
2020-09-01 12:34:37 -04:00
Ehren Kret
d715f86713
Refactor to constants
2020-09-01 10:55:26 -04:00
Ehren Kret
5221828705
Increase maximum sticker size to 300 kibibytes
...
In preparation for animated stickers, allow stickers to be up to 300
kibibytes.
2020-09-01 10:55:26 -04:00
Jon Chambers
6aa4acd3db
Mirror "clear queue" operations to the clustered cache.
2020-09-01 10:55:07 -04:00
Jon Chambers
15936c29c1
Let Dropwizard manage the lifecycle of the feature flag manager.
2020-09-01 10:50:59 -04:00
Jon Chambers
8b70c69a0d
Replace metrics with logging statements.
2020-08-31 15:57:17 -04:00
Jon Chambers
dfe80a30dc
Make ScourMessageCacheCommand a ConfiguredCommand instead of an EnvironmentCommand.
2020-08-31 15:57:17 -04:00
Jon Chambers
ce026e7ad0
Don't send contacts to CDS if they've opted out of discoverability. (SERVER-130)
2020-08-27 15:58:02 -04:00
Jon Chambers
58e3122dab
Add a discoverableByPhoneNumber account attribute. (SERVER-129)
2020-08-27 15:58:02 -04:00
Jon Chambers
3b55b2d1b2
Actually make the "scour message cache" available to Dropwizard. Oops.
2020-08-27 15:15:04 -04:00
Jon Chambers
2326e61de5
Clear and re-create gauges to avoid "stuck" feature flag reporting.
2020-08-27 13:18:12 -04:00
Jon Chambers
32b18c9509
Add an endpoint for getting the current state of feature flags.
2020-08-27 13:18:12 -04:00
Jon Chambers
acf52ad8a3
Make feature flag manager tests use a real database to avoid over-mocking.
2020-08-27 13:18:12 -04:00
Jon Chambers
08dd493f98
Don't report exceptions as part of traffic metrics.
2020-08-27 13:17:57 -04:00
Jon Chambers
07bbe7dfb2
Return to an async model for push notification latency.
2020-08-27 10:51:44 -04:00
Jon Chambers
0aa1b80e3e
Add a command for persisting any detached messages in the old message cache.
2020-08-27 10:51:12 -04:00
Jon Chambers
5ac390281e
Add an abstract base class for Redis singleton tests.
2020-08-27 10:51:12 -04:00
Jon Chambers
ac465c5a18
Add a Lettuce-based Redis singleton client.
2020-08-27 10:51:12 -04:00
Jon Chambers
1ef3546822
Add support for server-side feature flags
2020-08-26 20:27:33 -04:00
Jon Chambers
e74ad2b555
Make RedisClusterMessagesCache a Managed class.
2020-08-25 10:58:01 -04:00
Jon Chambers
71c0056c66
Use lots of specific subscriptions instead of one monster subscription to minimize load.
2020-08-25 10:58:01 -04:00
Jon Chambers
56b27ea785
Record experiment outcomes with timers instead of counters.
2020-08-25 10:57:44 -04:00
Jon Chambers
2d75f59d33
Add support for UUID-only delivery certificates. (SERVER-132)
2020-08-20 17:05:53 -04:00