Commit Graph

2746 Commits

Author SHA1 Message Date
Jonathan Klabunde Tomer 1d9734c824 MigrateRegistrationRecoveryPasswordsCommand: un-invert semantics of `dryRun` flag 2024-11-23 09:23:36 -05:00
Jon Chambers 717fb57a14 Add a command to migrate registration recovery passwords to PNI-associated records 2024-11-22 18:18:40 -05:00
Jon Chambers af1d21c225 Add methods for migrating E164-mapped registration recovery passwords to PNI-mapped records 2024-11-22 18:18:40 -05:00
Jon Chambers 3c8b2a82a3 Store registration recovery passwords by both E164 and PNI 2024-11-22 18:18:40 -05:00
Jonathan Klabunde Tomer 0cb6f662c6
Handle multiple values with same ACI in deleted-accounts table
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2024-11-22 15:11:27 -08:00
Chris Eager 739ed56b4c Don’t use an existing record's number in `AccountsManager` re-registration handling 2024-11-22 17:10:08 -06:00
Chris Eager 9a19ef82fd Use pni in DynamoDB account put condition expression 2024-11-22 17:10:08 -06:00
Chris Eager 5627ed141b Update phone number/PNI constraint cancellation reason comment 2024-11-22 17:10:08 -06:00
Chris Eager e4a2af67b1 Update AccountsManager#changeNumber validation to check for PNI equality 2024-11-22 17:06:42 -06:00
Chris Eager cba56f3263 Add `@E164` to `ChangeNumberRequest` 2024-11-22 17:05:07 -06:00
Chris Eager 1c3cf39b8a Remove `String e164` from `AccountLockManager` 2024-11-22 17:04:32 -06:00
Jonathan Klabunde Tomer 6421438f64 Delete deleted-account records by PNI as well as e164 2024-11-22 15:36:15 -05:00
Jon Chambers 8a63682c16 Drop the unused `PhoneNumberIdentifiers#getPhoneNumber` method 2024-11-22 15:26:44 -05:00
Jon Chambers 13a8c6256d Delete registration recovery passwords by both phone number and PNI 2024-11-22 15:26:44 -05:00
Jon Chambers 8c9cc4cce5 Make `PhoneNumberIdentifiers` operations asynchronous 2024-11-22 15:26:44 -05:00
Jon Chambers 0023cb2521 Resolve minor warnings/suggestions 2024-11-22 15:10:00 -05:00
Jon Chambers 010ed77345 Use libphonenumber to get country codes 2024-11-22 15:10:00 -05:00
Jon Chambers 00c11f5dd0 Use a more conventional name for a static constant 2024-11-22 15:10:00 -05:00
Jon Chambers 637e424506 Remove an unused "get number prefix" method 2024-11-22 15:10:00 -05:00
Chris Eager eb55b80bdc Add PNI support to AccountLockManager 2024-11-22 14:09:52 -06:00
Chris Eager 73812b06be Fix class names in logger initialization 2024-11-21 16:09:41 -06:00
Ravi Khadiwala d135957f0d Cancel past_due subscriptions immediately 2024-11-21 16:09:17 -06:00
Chris Eager 4e8a48ab3d Update MicrometerAwsSdkMetricPublisher maxConcurrency metric name 2024-11-21 16:07:24 -06:00
Chris Eager ea75c39b58 Use MRM shared data views 2024-11-19 15:31:31 -06:00
Jon Chambers 66783c9381 Include new/previous push token types as dimensions on "account created" counter 2024-11-15 15:28:46 -05:00
Jon Chambers b32e67ff9e Resolve minor warnings/suggestions in `AccountsManager` 2024-11-15 15:28:46 -05:00
Alex Konradi ba55d6caeb Only vend new credential format
Remove the flag that controlled which format was requested, and always return
the new thing.
2024-11-15 12:27:56 -08:00
Ravi Khadiwala 1eba04d37b Fix incorrect update target 2024-11-15 14:11:55 -06:00
Chris Eager ecbb2f1399 Updates for org.apache.commons.lang3.RandomStringUtils deprecations 2024-11-15 14:11:41 -06:00
Chris Eager 93f4a91ebf Remove some deprecated/unused code 2024-11-15 14:11:41 -06:00
Chris Eager 0ca9e973ad Add ephemeral tag to MRM error retrieval counter 2024-11-12 15:00:36 -06:00
Chris Eager ee5df0e11c Always store and fetch shared MRM data 2024-11-12 10:57:30 -06:00
Chris Eager d53a6e4c42 Add counter for skipped stale ephemeral MRM fetches 2024-11-12 10:56:12 -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 6845ba9b90 Remove legacy `DisconnectRequested` protobuf entity 2024-11-12 11:54:36 -05:00
Jon Chambers 2f890f7bb3 Send push notifications if we receive a "new message" notification, but no listener is present 2024-11-12 09:34:59 -05:00
Jon Chambers 3fefb24d71 Retire the legacy disconnection request system 2024-11-12 09:09:05 -05:00
Chris Eager d6f890c7b9
Use AmazonDynamoDBLocal instead of DynamoDBProxyServer 2024-11-11 16:50:47 -06:00
Chris Eager dd4bc23e4f
Update to Dropwizard 4 2024-11-11 16:32:24 -06:00
Jon Chambers 09fd5e8819 Shift authority for disconnection requests to `DisconnectionRequestManager` 2024-11-11 16:27:38 -05:00
Ravi Khadiwala 81f3ba17c7 Wait for messages in waitForNewLinkedDevice 2024-11-11 14:46:48 -06:00
Jon Chambers 3288d3d538 Mirror disconnection requests to `DisconnectionRequestManager` 2024-11-11 15:38:07 -05:00
Jon Chambers 7e861f388f Introduce `DisconnectionRequestManager` 2024-11-11 15:38:07 -05:00
Jon Chambers 1323b42169 Rename `ClientConnectionManager` to `GrpcClientConnectionManager` 2024-11-11 15:38:07 -05:00
Jon Chambers a843f1af6c Rename `PubSubClientEventManager` to `WebSocketConnectionEventManager` 2024-11-11 15:30:26 -05:00
Ameya Lokare 52b759c009 Remove CORS configuration 2024-11-11 12:22:18 -08:00
Jon Chambers f2f5815316 Resolve additional merge-related naming conflicts 2024-11-11 11:58:06 -05:00
Jon Chambers 2da00e162a Resolve a merge-related naming conflict 2024-11-11 11:47:00 -05:00
Jon Chambers e53a9f3f1a Close WebSockets "harshly" if a close frame write fails 2024-11-11 11:42:01 -05:00
Jon Chambers 767f6a90e0 Remove subscriptions if we get pub/sub events without a registered listener 2024-11-11 11:42:01 -05:00
Jon Chambers 562b495a18 Publish "messages persisted" events when unlocking queues after a persistence run 2024-11-11 11:41:29 -05:00
Jon Chambers 084607f359 Retire the explicit "handle new message available" system in favor of implicit presence-on-insert values 2024-11-11 11:41:29 -05:00
Jon Chambers eeeb565313 Return destination client presence when inserting messages 2024-11-11 11:41:29 -05:00
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