Jon Chambers
470e17963a
Use MessageStream in WebSocketConnection
2025-08-13 10:22:55 -04:00
Chris Eager
4c5dc118aa
Use nanoTime for queue drain metric
2025-08-11 18:26:40 -04: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
1429efd573
Retire duplicative "message delivery time" metrics
2025-08-08 13:52:20 -04:00
Jon Chambers
d96c360016
Introduce MessageStream and RedisDynamoDbMessagePublisher
2025-08-08 09:27:05 -04:00
Jon Chambers
8d3781db90
Remove the "send message" timeout
2025-08-04 09:58:56 -04:00
Jon Chambers
a4804f6501
Don't retry "connection closed" errors
2025-07-31 16:37:19 -04:00
Jon Chambers
5cb3a053fb
Add a timer for sendMessage calls
2025-07-31 16:37:19 -04:00
Jon Chambers
4923b6da68
Measure only errors that terminate a message stream
2025-07-31 16:37:19 -04:00
Jon Chambers
76e65a47a2
Represent timeouts as Durations rather than bare millis
2025-07-31 16:37:19 -04:00
Jon Chambers
5c3be9c3d6
Use error-specific retry mechanisms in WebSocketConnection and associated classes
2025-07-31 10:53:11 -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
Jon Chambers
631b9a5290
Measure the rate of new WebSocket connections by authentication type
2025-07-17 11:35:15 -04:00
Jon Chambers
483404a67f
Retire authenticated device getters
2025-06-23 10:10:30 -04:00
Jon Chambers
c952baa672
Don't cache authenticated accounts in memory
2025-06-23 09:40:05 -04:00
Ravi Khadiwala
295cedc075
remove experiment configuration for low urgency pushes
2025-06-17 09:43:35 -05:00
Jon Chambers
4f1cab407f
Simplify WebSocket authentication failure handling
2025-06-17 10:41:29 -04:00
Jon Chambers
9a1da23bdb
Add an isEphemeral dimension to message delivery latency metrics
2025-06-10 17:05:46 -05:00
Chris Eager
0f185a528d
Add isUrgent tag to message delivery latency metrics
2025-06-04 10:51:05 -07:00
Ravi Khadiwala
894ca6d290
remove ANDROID_SKIP_LOW_URGENCY_PUSH_EXPERIMENT
2025-05-13 13:59:28 -05:00
Ravi Khadiwala
ab4fc4f459
Add skip low urgency push experiment
2025-04-24 10:32:46 -05:00
Ravi Khadiwala
c2e3ab832c
enforce provisioning websocket timeouts
2025-03-26 16:28:51 -05:00
Jon Chambers
99041bc593
Use a dedicated status code (and message) for "reauthentication required"
2025-03-13 14:48:17 -04:00
Jon Chambers
552079d3c2
Add an interceptor interface for WebSocket authentication
2025-03-04 08:35:01 -05:00
Katherine
3ceaa8bd20
Remove authentication via query parameters for websocket upgrade requests
2025-01-15 14:06:46 -05:00
ravi-signal
68f27be7cd
Add opt-in timeouts to provisioning websocket
2024-12-18 18:45:53 -06:00
Jon Chambers
444f6ca826
Consolidate "closed connection" errors, but add an "exception" dimension
2024-11-12 11:54:47 -05:00
Jon Chambers
0ea13ec528
Handle static "closed" exceptions
2024-11-12 11:54:47 -05:00
Jon Chambers
a843f1af6c
Rename PubSubClientEventManager to WebSocketConnectionEventManager
2024-11-11 15:30:26 -05:00
Jon Chambers
e53a9f3f1a
Close WebSockets "harshly" if a close frame write fails
2024-11-11 11:42:01 -05:00
Ravi Khadiwala
776c147ea4
Tighten up Semaphore release in WebSocketConnection
2024-11-08 14:21:12 -06:00
Jon Chambers
6a1f4906c5
Retire the legacy message availability system
2024-11-07 12:09:21 -05:00
Jon Chambers
ef716aacc2
Shift authority for message availability to the pub/sub event system
2024-11-07 11:55:47 -05:00
Jon Chambers
1c167ec150
Retire the legacy client presence system
2024-11-06 14:57:27 -05:00
Jon Chambers
96a4d4c8ac
Prepare to receive client events about persisted messages
2024-11-06 14:42:55 -05:00
Jon Chambers
9d19fc9ecc
Shift authority to the new pub/sub client presence system
2024-11-06 12:10:44 -05:00
Jon Chambers
aad12670b2
Register WebSocket connections as pub/sub event listeners
2024-11-06 09:37:06 -05:00
Jon Chambers
3e36a49142
Reframe "connection ID" as "server ID" to avoid double-removing clients
2024-11-05 18:43:31 -05:00
Jon Chambers
8c984cbf42
Introduce and evaluate a client presence manager based on sharded pub/sub
2024-11-05 15:51:29 -05:00
Jon Chambers
100955a7db
Migrate WebSocket duration instrumentation to OpenWebSocketCounter
2024-10-02 14:02:03 -05:00
Jon Chambers
3ed142d0a9
Introduce OpenWebSocketCounter
2024-10-01 14:17:17 -04:00
Jon Chambers
581e61a85b
Count open provisioning WebSockets
2024-10-01 14:17:17 -04:00
Jon Chambers
764b200289
Clarify open websocket gauge name
2024-10-01 14:17:17 -04:00
Jon Chambers
26503dffdf
Use a consistent provisioning address
2024-10-01 13:34:37 -04:00
Jon Chambers
b284e95394
Clarify ProvisioningAddress field naming
2024-10-01 12:59:58 -04:00
Jon Chambers
b2211de8d8
Retire ProvisioningAddress and WebsocketAddress
2024-10-01 12:59:58 -04:00
Jon Chambers
0a1161048f
Document ProvisioningController and ProvisioningConnectListener
2024-10-01 11:40:40 -04: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
f09cc03164
Detect message delivery loops
2024-08-30 16:27:21 -04:00