Commit Graph

2692 Commits

Author SHA1 Message Date
Jon Chambers 1fa31b3974 Don't return message IDs from the "insert message" script 2024-11-11 11:41:29 -05:00
Jon Chambers 7158a504fa Remove an outdated doc comment reference to keyspace notifications 2024-11-08 15:55:02 -05:00
Ravi Khadiwala fc6075f19c Include media TTL in backup config 2024-11-08 14:21:39 -06:00
Ravi Khadiwala 776c147ea4 Tighten up Semaphore release in WebSocketConnection 2024-11-08 14:21:12 -06:00
Chris Eager 5d9641ae86 Add dynamic configuration to optionally use shared MRM data 2024-11-07 17:06:52 -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 e536a40740 Publish "messages persisted" events 2024-11-07 11:25:48 -05:00
Jon Chambers 5aaf4cad20 Remove now-unused presence cluster configuration 2024-11-06 16:07:02 -05:00
Jon Chambers 1c167ec150 Retire the legacy client presence system 2024-11-06 14:57:27 -05:00
Chris Eager 9898e18ae2 Update test config for /v1/subscription/configuration 2024-11-06 14:43:39 -05:00
Chris Eager b182c3d86d Update for KeyTransparencyQueryService.MonitorRequest changes 2024-11-06 14:43:18 -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 7ca7fe7c13 Handle batches of commands in sharded circuit breakers 2024-11-06 09:36:08 -05:00
Jon Chambers ca7e7c288e Format pub/sub hash tags consistently with message-related hash tags 2024-11-06 09:35:45 -05:00
Chris Eager 3a604464b5 Mark LevelConfiguration#name as deprecated 2024-11-06 09:35:19 -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 d8f53954d0 Don't send `CLIENT SETINFO` commands when connecting to Redis instances 2024-11-05 17:29: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 60cdcf5f0c Only respond to cluster toplogy events from the same cluster to which we're subscribed 2024-11-05 11:42:51 -05:00
Jon Chambers 5afcd634b6 Extend "long idle" device range to 60–75 days 2024-11-05 11:33:22 -05:00
Katherine Yen 00ca58ec13 Align `FullTreeHead` proto with KT's 2024-11-05 11:33:11 -05:00
Katherine Yen bbb6d448db Standardize KT response field name to `serializedResponse` 2024-11-05 11:32:58 -05:00
adel-signal 45fad7a6a9
update e164 experiments to use account enrollment percentage 2024-11-04 15:00:25 -06:00
Katherine 7633a9b07a
Replace `TreeSearchResponse` with `CondensedTreeSearchResponse` 2024-11-04 10:36:15 -05:00
Jon Chambers 00d0dba62c Don't retry pub/sub commands 2024-11-04 10:35:50 -05:00
Jon Chambers c9a396b9e3
Deserialize null capabilities in `Device` entities as empty sets 2024-11-01 16:48:56 -04:00
Ravi Khadiwala fc0a7b7657 401 instead of 403 on wrong backup auth credential type 2024-11-01 16:46:44 -04:00
Ameya Lokare 190f2a7fc2 Pass ACI to captcha checker 2024-10-31 14:24:43 -07:00
Jonathan Klabunde Tomer 0018e0bec6
remove appconfig in favor of S3ObjectMonitor 2024-10-31 11:25:45 -07:00
Jonathan Klabunde Tomer 63021e0ca3 Avoid annotation-driven parsing of device capabilities in `DeviceController` 2024-10-31 10:58:38 -04:00
Katherine Yen bf741df38e Remove unnecessary `NotNull` annotation 2024-10-31 10:56:19 -04:00
Katherine e627d4e2c4
Require some tree head sizes in key transparency search and monitor requests 2024-10-31 10:54:55 -04:00
Katherine 9b5a62e60f
Remove `FullTreeHead` from `TreeSearchResponse` 2024-10-31 10:51:22 -04:00
Ravi Khadiwala 3bb1eab48c Fix casing in `GET /v1/archives/auth` 2024-10-30 17:07:43 -04:00
Jon Chambers 4af576668c Fix incorrect substitution of enumeration key names for capability names 2024-10-30 17:06:09 -04:00
Jon Chambers f5a93574f6 Simplify capabilities representation in gRPC profile responses 2024-10-30 17:06:09 -04:00
Jon Chambers 74f8889bfa Simplify capability set serialization 2024-10-30 17:06:09 -04:00
Jon Chambers a8da0f64ac Extract device capability enumeration translation to a utility class 2024-10-30 17:06:09 -04:00
Jon Chambers 44c3b046dd Add a new capability for storage service record key rotation 2024-10-30 13:04:10 -04:00
Ravi Khadiwala f2cb04817b Let server generate copyToMedia IVs
We include the IV in the encrypted payload, so we can let the server
choose them instead of the client
2024-10-30 13:03:48 -04:00
Katherine a5f60b1522
Use standard, unpadded base64 serialization/deserialization for `commitmentIndex` 2024-10-30 12:50:45 -04:00
Jon Chambers 0e3dccd9f6
Replace `DeviceCapabilities` entity with `Set<DeviceCapability>` 2024-10-30 12:46:20 -04:00
Jon Chambers b21b50873f
Add support for distinct media backup credentials
Co-authored-by: Ravi Khadiwala <ravi@signal.org>
2024-10-29 16:03:10 -04:00
Katherine d335b7a033
Align `KeyTransparencySearchResponse` with distinguished counterpart and update `DistinguishedResponse` field names 2024-10-29 15:55:45 -04:00
Jon Chambers f3b22e04e8
Allow primary devices to change names of linked devices 2024-10-29 09:52:38 -04:00
Katherine 712f3affd9
Update chat to send three search keys in one request to KT 2024-10-29 09:52:26 -04:00
Katherine 3287085ef9
Remove test references to legacy ratelimit HTTP status code 2024-10-28 15:20:08 -04:00
Ameya Lokare 17dfd914d5 Add maybe to optional argument name 2024-10-28 12:19:19 -07:00
Chris Eager c65fe49983 Add commitment index to key transparency monitor requests 2024-10-28 14:18:41 -05:00
Chris Eager 6552d90dc9 Refactor request JSON creation in KeyTransparencyControllerTest 2024-10-28 14:18:41 -05:00
Chris Eager d925e8af9e Update shape of KeyTransparencyMonitorRequest 2024-10-28 14:18:41 -05:00
Jon Chambers 2c0fc43137 Require that accounts be non-stale when getting/setting backup vouchers 2024-10-28 15:18:19 -04:00
Ameya Lokare ccdbec088f Document that sendMessage can return 428 2024-10-28 12:18:02 -07:00
Jon Chambers 9822d17ab9 Fail "wait for X" futures if a Redis operation fails 2024-10-28 15:17:49 -04:00
Chris Eager 9573d9e385 Skip fetching MRM content for stale ephemeral messages 2024-10-24 11:49:33 -05:00
Chris Eager 155f3d6231
key transparency: add distinguished key endpoint 2024-10-24 11:49:20 -05:00
Chris Eager 1959ca2d96 Add client identity to key and certificate to KeyTransparencyServiceClient 2024-10-24 11:36:57 -05:00
Jon Chambers 324913d2da
Add API endpoints for waiting for account restoration requests 2024-10-24 12:25:40 -04:00
Katherine 013e45596e
Update KT search requests to include a value and maybe an unidentified access key 2024-10-23 10:21:38 -04:00
Ameya Lokare 997129871c Lazily get captcha clients to avoid initialization issues 2024-10-22 09:13:00 -07:00
Ameya Lokare dbb9a8dcf6 Get captcha clients from spam-filter module 2024-10-21 13:32:32 -07:00
adel-signal cacd4afbbb
Add /v2/calling/relays
This supports returning IceServers from multiple providers at once
2024-10-21 13:59:29 -05:00
Jon Chambers 9c5877aa31 Resolve warnings/accept suggestions throughout `AttachmentControllerV4Test` 2024-10-21 14:26:28 -04:00
Jon Chambers bda4788a34 Retire `AttachmentControllerV2` 2024-10-21 14:26:28 -04:00
Jon Chambers 5abfef50fc Avoid repeated constants, standardize test assertions, and add links to docs for `PolicySigner` 2024-10-21 14:26:04 -04:00
Jon Chambers e3ee5c1f2e Use multiline strings in `PostPolicyGenerator` 2024-10-21 14:26:04 -04:00
Jon Chambers e6eb702a88 Remove a couple unused imports/loggers from `SubscriptionController` 2024-10-21 13:18:00 -05:00
Jon Chambers 1447819198 Remove deprecated `aci` field from batch identity check elements 2024-10-21 13:17:52 -05:00
Jon Chambers adf5795dff Remove unused members in `ProfileController` 2024-10-21 13:17:52 -05:00
Chris Eager 584fd06b88 Add metric for closed connection age to KeepAliveController 2024-10-21 13:17:21 -05:00
Chris Eager 1faa1a5abc Remove obsolete identity key null-check from /v1/certificate/delivery 2024-10-21 13:17:05 -05:00
Chris Eager b5db8eba06 Remove unnecessary socket.setReuseAddress() in test extensions 2024-10-21 13:16:57 -05:00
Chris Eager c6843c1eae Update to embedded-redis 0.9.1 2024-10-21 13:16:45 -05:00
Jon Chambers eb80305f87 Retire `AttachmentControllerV3` 2024-10-17 12:48:01 -04:00
Jon Chambers 865e3c5bde Convert `AccountBadge` to a record 2024-10-17 12:47:50 -04:00
Chris Eager c2270e57df Reduce log level for existing pending presence 2024-10-17 11:47:18 -05:00
Ameya Lokare d48c031548 Pass in destination service identifier to spam filter 2024-10-17 09:11:35 -07:00
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 73fb1fc2ed Add API endpoints for waiting for transfer archives 2024-10-15 12:13:47 -04:00
Jon Chambers 7ff48155d6 Add plumbing for a "wait for transfer archive" system 2024-10-15 12:13:47 -04:00
Jon Chambers 0adaa331a1 Extract `RemoteAttachment` to a top-level entity 2024-10-15 12:13:47 -04:00
Jon Chambers 30ec06ca76 Fix an incorrect response schema annotation 2024-10-15 12:13:47 -04:00
Jon Chambers 9b5c6e538b Convert `DeviceResponse` to a record and rename to `LinkDeviceResponse` 2024-10-15 12:13:29 -04:00
Jon Chambers 240a406964
Introduce `EnumMapUtil` 2024-10-10 13:29:20 -07:00
Jon Chambers 38d25f9a9b
Resolve warnings and accept suggestions throughout `DeviceControllerTest` 2024-10-10 13:29:05 -07:00
Chris Eager 7b1b6fa1cf Update KeyTransparencyService.proto with MonitorKey.commitment_index 2024-10-10 10:12:21 -04:00
Chris Eager a3d9af132f Use Mono#transformDeferred when applicable 2024-10-10 10:12:04 -04:00
Chris Eager 5d8b566a27 Remove unnecessary MessagesManager#clear with account’s PNI 2024-10-10 10:12:04 -04:00
Jon Chambers 8c30a359e7
Add API endpoints for waiting for newly-linked devices 2024-10-10 10:11:32 -04:00
Jon Chambers a9117010f9
Introduce `FaultTolerantRedisClient` 2024-10-09 09:22:10 -04:00
Ravi Khadiwala 9d980f36b0 Allow experiments to exclude by ACI 2024-10-08 15:02:58 -05:00
Katherine 93515e5a0f
Retire `paymentActivation` capability 2024-10-08 16:01:09 -04:00
Jonathan Klabunde Tomer d550c69f7f Enforce per-IP rate limits 2024-10-07 16:57:29 -05:00
adel-signal 087e192fac
Update CallRoutingController to use e164, add UUID to e164 experiments 2024-10-07 16:56:45 -05:00
Jon Chambers 63e45563ec Discard the Redis-backed "used token" system 2024-10-07 17:06:08 -04:00
Jon Chambers f7aacefc40
Manage device linking tokens transactionally 2024-10-07 16:26:11 -04:00