Chris Eager
a302275187
Use a single cluster instance in MessagesCache
2024-04-16 12:04:18 -05:00
Ravi Khadiwala
26ffa19f36
Lifecycle management for Account objects reused accross websocket requests
2024-02-22 12:05:32 -06:00
Chris Eager
a74438d1ee
Add test for concurrent in-flight outbound messages on WebSocket queue processing
...
This also elevates the implicit default concurrency (via reactor’s `Queues.SMALL_BUFFER_SIZE`) to be explicit.
2023-11-27 14:37:46 -06:00
Chris Eager
6a428b4da9
Convert Device.id from long to byte
2023-11-02 11:48:10 -05:00
Sergey Skrobotov
d0fdae3df7
Enable header-based auth for WebSocket connections
2023-09-25 12:14:40 -07:00
Jon Chambers
4ead8527c8
Use ClientReleasesManager when deciding whether to add client version tags
2023-07-26 16:41:54 -04:00
Jon Chambers
abb32bd919
Introduce "service identifiers"
2023-07-21 09:34:10 -04: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
fb39b2edaf
Improve two @Disabled flaky tests
2023-06-29 14:56:41 -05:00
Chris Eager
128d709c99
Additional counters and timers for WebSocket connections
2023-06-13 11:46:15 -05:00
Jon Chambers
d1eb247d8c
Clarify the purpose of an addListener method
2023-04-18 12:04:54 -04:00
Jonathan Klabunde Tomer
48ebafa4e0
DynamoDBExtension refactor and helpers for our schema ( #1327 )
...
There's a lot of boilerplate involved in setting up a DynamoDBExtension, and some tests were creating several extensions
rather than one with several tables, which is probably slower than it has to be.
This change adds a new DynamoDbExtensionSchema class in which we can define the Dynamo schema for tests, and refactors
DynamoDbExtension to make it easy to instantiate a single extension with all the tables one wants (and no more, both to
minimize test startup time and to ensure we explicitly test our dependencies and lack thereof).
Tests requiring a DynamoDbExtension with a table schema that's not part of the normal Signal schema can instantiate a
DynamoDbExtension.RawSchema instead.
Test timings are unaffected, at least on my machine. Before:
```[INFO] service ............................................ SUCCESS [01:18 min]```
After:
```[INFO] service ............................................ SUCCESS [01:18 min]```
Co-authored-by: Jonathan Klabunde Tomer <jkt@viola.signal.org >
2023-04-03 13:08:43 -07: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
391aa9c518
Wrap runtime exceptions during WebSocket auth into AuthenticationException
2023-03-29 10:08:55 -05:00
Chris Eager
f5c62a3d85
Migrate from bounded elastic to dedicated executor for message delivery
2023-03-22 12:57:44 -05:00
Chris Eager
292f69256e
Refactor WebSocket message sending error and completion to subscriber from “doOn…”
2023-03-17 12:42:57 -05:00
Sergey Skrobotov
c32067759c
refactoring: use constants for header names
2022-11-15 11:16:49 -08:00
Chris Eager
77d691df59
Always use reactived message processing in WebSocketConnection
2022-11-11 13:14:39 -06:00
Chris Eager
e0178fa0ea
Move additional handling of MessagesManager#delete to executor
2022-11-03 13:02:25 -05:00
Chris Eager
c10fda8363
Use reactive streams for WebSocket message queue
...
Initially, uses `ExperimentEnrollmentManager` to do a safe rollout.
2022-10-31 10:35:37 -05:00
Jon Chambers
a53a85d788
Refactor scheduled APNs notifications in preparation for future development
2022-08-12 10:47:49 -04:00
Chris Eager
65da844d70
Small test cleanup
2022-08-09 15:32:44 -05:00
Jon Chambers
6f0faae4ce
Introduce common push notification interfaces/pathways
2022-08-03 10:07:53 -04:00
Chris Eager
55df593561
Clean up MessageAvailabilityListener if the websocket client is closed
2022-08-02 08:35:16 -07: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
d0e3fb1901
Unconditionally write messages to the messages table as envelopes
2022-08-01 10:44:27 -04:00
Jon Chambers
04287c5073
Optionally write messages as envelopes to the messages table
2022-07-29 11:10:50 -04:00
Jon Chambers
3636626e09
Make Envelope the main unit of currency when working with stored messages
2022-07-29 10:59:02 -04:00
Jon Chambers
3d875f1ce5
Convert incoming/outgoing message entities to records
2022-07-29 10:59:02 -04:00
Jon Chambers
dce391a248
Add support for setting PNI-associated registration IDs and identity keys when changing numbers
2022-07-26 15:19:27 -04:00
Jon Chambers
1dd7d33e23
Simplify Device entity
2022-07-13 13:55:20 -04:00
Ehren Kret
5df24edebf
Remove all unused imports remaining in project
2022-05-25 17:15:20 -05:00
Fedor Indutny
d31ddb72f3
Optimize message deletion by skipping lookup
2022-05-18 13:02:21 -07:00
Jon Chambers
53f17c2baa
Drop the legacy message and relay fields from message entities
2022-03-24 10:50:49 -04:00
Chris Eager
a1e84f5a88
Migrate service tests to JUnit 5
2022-01-03 15:10:02 -08:00
Chris Eager
3e777df86c
Timeout sendNextMessagePage after 5 minutes
2021-12-20 11:31:11 -08:00
Chris Eager
278b4e810d
Add (failing) test for send message timeouts
2021-12-20 11:31:11 -08:00
Chris Eager
4d2403d619
Use assertTimeoutPreemptively instead of assertTimeout
2021-12-02 12:17:08 -05:00
Jon Chambers
c5f261305d
Store destination UUIDs when persisting messages to DynamoDB
2021-12-02 12:17:08 -05:00
Jon Chambers
067aee6664
Remove unused properties from OutgoingMessageEntity
2021-11-22 15:43:09 -05:00
Jon Chambers
cfe34fbf0f
Allow unsealed-sender messages to be addressed by PNI
2021-11-16 15:08:10 -05:00
Jon Chambers
3398955c1a
Add basic support for phone number identifiers
2021-11-09 10:23:08 -05:00
Jon Chambers
09519ae942
Only retry websocket sending if the client is still connected
2021-09-20 14:24:07 -04:00
Jon Chambers
c2ba8ab562
Identify receipt destinations by UUID instead of e164
2021-09-16 10:47:03 -04:00
Chris Eager
83e0a19561
Migrate MessagesDynamoDbRule to MessagesDynamoDbExtension
2021-09-16 10:46:37 -04:00
Chris Eager
31022aeb79
Use refreshing AuthenticatedAccount for @Auth
2021-08-11 14:52:25 -05:00
Graeme Connell
c545cff1b3
Switch DynamoDB to AWSv2.
...
Switch from using com.amazonaws.services.dynamodbv2 to using
software.amazon.awssdk.services.dynamodb for all current DynamoDB uses.
2021-06-03 13:37:10 -06:00
Ehren Kret
164fc40990
Rename receipt type and add new client-to-client plaintext type for decryption error receipts
2021-05-28 11:33:44 -05:00
Chris Eager
00c9023e74
Include server GUID when sending messages over websocket
2021-05-14 17:10:15 -05:00