Commit Graph

2996 Commits

Author SHA1 Message Date
ravi-signal 8d0d0d61f1
Add reregistration flag to account creation response 2025-02-21 14:13:04 -06:00
Ravi Khadiwala 26c348520f Revert "Add a 2-notification ttl=0 push notification experiment"
This reverts commit 4908a0aa9e.
2025-02-21 14:07:07 -06:00
Ravi Khadiwala ec79386306 Only accept backup receipt redemption when account has a backup credential request 2025-02-21 14:06:51 -06:00
Katherine 093ac6fb16
Align `UpdateValue` proto with the KT service's definition 2025-02-21 12:00:33 -08:00
Ravi Khadiwala 68e2c511b7 Split up backup-id rotation rate limits 2025-02-18 10:52:43 -06:00
Ravi Khadiwala 47c82b42d9 Check push tokens for primary device platform tags 2025-02-18 10:49:49 -06:00
Ravi Khadiwala e1a3b48c6e Only set X-Signal-Agent if present 2025-02-18 10:49:26 -06:00
Jon Chambers b8b17ae473 Add methods for iterating over all account identifiers 2025-02-18 11:46:00 -05:00
Chris Eager b203344ed4 Only log unexpected MRM retrieval errors 2025-02-18 10:45:04 -06:00
Chris Eager 6d30a45017 Discard stale messages from MessagesCache#getMessagesToPersist 2025-02-14 12:06:15 -06:00
Chris Eager 3f9863c441 Discard mrm messages that can never be sent 2025-02-14 12:06:15 -06:00
Ravi Khadiwala 2356d7c629 Add primary platform tag to transfer archive metrics 2025-02-13 10:25:41 -06:00
ravi-signal 4908a0aa9e
Add a 2-notification ttl=0 push notification experiment 2025-02-13 10:25:25 -06:00
Jon Chambers 6032764052
Validate parsed message size, not base64-encoded message size 2025-02-10 14:13:24 -08:00
Jonathan Klabunde Tomer 908a41814b
correct some theoretical bugs in unresolved service ID collection 2025-02-10 14:13:11 -08:00
Jon Chambers 3ae145bd60
Add `isStory` and `isSyncMessage` dimensions to message size metrics 2025-02-10 09:08:40 -08:00
Jonathan Klabunde Tomer b086a73353
Return 200 and unregistered recipient list for multi-recipient send with GSEs 2025-02-10 09:08:21 -08:00
Ravi Khadiwala 794e254d90 Add null check to FCM error log condition 2025-02-07 13:48:36 -06:00
Ravi Khadiwala 760c5737f9 Add field to RestoreAccountRequest for device transfer initialization 2025-02-07 13:43:57 -06:00
Jonathan Klabunde Tomer ea17eee320
Make logging of message delivery loops configurable, default off 2025-02-07 13:43:28 -06:00
Adel Lahlou 09ce79bd43 Remove /v1/calling/relays API endpoint 2025-02-07 13:41:59 -06:00
Chris Eager 2dfd17af4a Add counter with WebSocket close codes 2025-02-07 13:41:37 -06:00
Ravi Khadiwala a9975e524b Add logs to FCM quota failures 2025-02-07 13:41:14 -06:00
Jonathan Klabunde Tomer 5d062285c2
Filter to block old REST API for specified client versions 2025-02-05 12:26:47 -08:00
Chris Eager e4b0f3ced5 Use HTTP status code if FCM error code is unavailable 2025-02-05 14:17:05 -06:00
Jon Chambers 70ce6eff9e Include `ephemeral` flag in individual messages 2025-01-31 12:57:54 -05:00
Chris Eager c84d96abee Remove deprecated svr3Credentials field 2025-01-31 11:57:15 -06:00
Chris Eager 09eb42e5c6 Add tag for requests made with libsignal 2025-01-31 11:56:56 -06:00
Jon Chambers 48ada8e8ca
Clarify roles/responsibilities of components in the message-handling pathway 2025-01-31 10:24:50 -05:00
Ravi Khadiwala 282bcf6f34 Add persistent timer utility backed by redis 2025-01-29 11:32:13 -06:00
Ravi Khadiwala 1446d1acf8 Fix blocking call in waitForLinkedDevice 2025-01-29 11:32:13 -06:00
Ravi Khadiwala aae94ffae3 Add a timer to waitForTransferArchive 2025-01-29 11:32:13 -06:00
Ravi Khadiwala e30beb9c9f Remove ZeroTtlDevicePushNotificationExperiment 2025-01-27 16:24:50 -06:00
Ravi Khadiwala 5a2e297991 Add ZeroTtlDevicePushNotificationExperiment 2025-01-27 12:58:28 -06:00
adel-signal ae1e7fbaa0
Return empty lists instead of null in GetCallingRelaysV2 2025-01-24 17:33:45 -05:00
adel-signal 7e616a4056
Update calling routing to return urls only, no instance IPs 2025-01-24 13:46:32 -05:00
Chris Eager c9e192564c Add fail-fast HMAC init to RegistrationServiceClient constructor 2025-01-22 18:20:45 -06:00
Chris Eager 47550d48e7 Add collation key to registration service session creation rpc call 2025-01-22 17:43:53 -06:00
Chris Eager 5cc76f48aa Add CoinGecko to CurrencyConversionManager 2025-01-19 09:37:38 -06:00
Katherine 3ceaa8bd20
Remove authentication via query parameters for websocket upgrade requests 2025-01-15 14:06:46 -05:00
ravi-signal ee1016523f
Add request information to createPayPalOneTimePayment failure log 2025-01-14 09:45:22 -05:00
Katherine 2f51778421
Use camel casing for entry position field on key transparency monitor requests 2025-01-14 09:45:08 -05:00
Katherine Yen d3d68c2a60 Enforce one entry position per identifier in monitor request 2025-01-10 10:06:31 -05:00
Jon Chambers 0628b3e41c Update chat service dependencies 2025-01-10 10:04:40 -05:00
Ravi Khadiwala 1cae841ed6 Remove deprecated /v1/accounts/turn 2025-01-10 10:04:25 -05:00
Ravi Khadiwala a88560e557 Add gRPC backup services 2025-01-08 16:13:51 -06:00
Ravi Khadiwala 3ca9a66323 Stripe HTTP2 clients in CloudflareTurnCredentialsManager 2025-01-08 16:02:22 -06:00
Chris Eager 3a4a55c245 Reject old-format Benin numbers, which are now undeliverable 2025-01-07 12:16:44 -06:00
Jonathan Klabunde Tomer f4a243861c count messages between 8KiB and 256KiB 2025-01-03 10:18:55 -05:00
Jon Chambers 68209f270e Correct message topology in test JSON 2025-01-03 10:18:24 -05:00
Jon Chambers 8af939d320 Validate message timestamps 2025-01-03 10:18:24 -05:00
Jon Chambers 16a50935ea Add (failing!) tests for message timestamp validation 2025-01-03 10:18:24 -05:00
Chris Eager 24ea10c451 Add documentation annotations to /v1/config 2025-01-02 17:07:38 -06:00
Chris Eager 95abda4870 Remove Response wrapper from /v2/directory/auth 2025-01-02 17:07:26 -06:00
Chris Eager c8993c4da8 Add documentation for /v2/directory/auth 2025-01-02 13:12:38 -06:00
Chris Eager d096798340 Add documentation to /v1/storage/auth 2025-01-02 13:12:38 -06:00
Chris Eager f2f5e0e26f
Add documentation annotation to /v2/accounts/phone_number_discoverability 2024-12-27 12:24:00 -08:00
Chris Eager 9121032114
FaultTolerantRedisClusterClientTest: increase blpop timeouts to make tests more reliable 2024-12-27 12:23:49 -08:00
Jonathan Klabunde Tomer 541bf968e5
remove support for GET /v1/accounts/me 2024-12-27 12:23:14 -08:00
Chris Eager 8c3ebdcbab Remove obsolete ArtController 2024-12-20 12:18:45 -06:00
Ameya Lokare 0593e9e89f Add `@NotBlank` to verificationToken in LinkDeviceRequest 2024-12-20 10:18:11 -08:00
Ameya Lokare 0d412c88fd OpenAPI spec for VerificationController endpoints 2024-12-20 10:17:03 -08:00
Chris Eager 8280106493 Remove unused SVR3 controller and client 2024-12-20 12:14:50 -06:00
Ravi Khadiwala a3e106fe04 Fix flaky websocketTimeoutNoHeader test 2024-12-18 19:07:50 -06:00
Ameya Lokare 26025e5abd Rename preRegistrationExperiments to e164Experiments 2024-12-18 18:49:34 -06:00
Jon Chambers 4839a5ba70 Enable/disable AWS SDK metrics via dynamic configuration 2024-12-18 18:49:05 -06:00
ravi-signal 85a1550485
Catch and log unexpected createPayPalOneTimePayment responses 2024-12-18 18:46:46 -06:00
ravi-signal 77658415b2
Handle stripe amount_too_large errors 2024-12-18 18:46:22 -06:00
ravi-signal 68f27be7cd
Add opt-in timeouts to provisioning websocket 2024-12-18 18:45:53 -06:00
Ravi Khadiwala 6460327372 Return 409 when setting a payment method that hasn't finished initialization 2024-12-17 12:56:31 -05:00
Jon Chambers a96c0ec7a3 Enqueue async operations from a dedicated thread 2024-12-17 12:54:41 -05:00
Ravi Khadiwala 33c0a27b85 Add current entitlements to whoami response 2024-12-12 12:56:44 -06:00
Ravi Khadiwala d5b39cd496 Add utility method for creating AccountIdentityResponse 2024-12-12 12:40:43 -06:00
Ravi Khadiwala 5a35d69ed0 Fix 409/410 docs in /v1/messages/ 2024-12-12 12:36:54 -06:00
Ravi Khadiwala e1e94a33e2 Stop writing non tag-set field 2024-12-12 12:36:37 -06:00
Ravi Khadiwala 18c9b177f3 Relax issuing constraints in IssuedReceiptManager 2024-12-10 11:47:44 -06:00
Ravi Khadiwala 1970741049 Remove IssuedReceiptMigrationCommand 2024-12-10 11:46:17 -06:00
Ravi Khadiwala f16428ce2a Register IssuedReceiptMigrationCommand 2024-12-10 11:46:17 -06:00
Ravi Khadiwala 14427523ae Add a tag->tag-set migration command 2024-12-06 14:54:45 -06:00
Ravi Khadiwala 236b0496d3 Write a set field in IssuedReceiptsManager 2024-12-06 14:53:10 -06:00
Ravi Khadiwala f68ddf66e9 Day align DeviceCheck backup vouchers 2024-12-06 14:52:50 -06:00
Jon Chambers 20685b6d69 Clear "canceled at" timestamp when setting a new subscrition ID 2024-12-06 15:51:57 -05:00
Jon Chambers 4988b4e0f5
Refresh accounts before returning device lists 2024-12-05 14:35:18 -05:00
Katherine 651e444875
Delete from SVR3 in account deletion flow 2024-12-05 11:36:33 -05:00
Jon Chambers 2093fed554 Drop the unused `setUnauthenticatedDelivery` endpoint 2024-12-03 14:06:05 -06:00
Ravi Khadiwala cc7bb8b549 Map stripe idempotency errors to 400 2024-12-03 14:05:43 -06:00
Ravi Khadiwala 2c163352c3 Add DeviceCheck API for iOS Testflight backup enablement 2024-12-03 14:05:02 -06:00
Jon Chambers fb6c4eca34 Retire `RemoveE164RecentlyDeletedAccountsCommand` 2024-12-02 11:17:03 -05:00
Jon Chambers c70dd119d3
Remove `AbstractDynamoDbStore` as a base class from `Accounts` 2024-12-02 10:57:45 -05:00
Katherine 9e312cbdfa
Normalize Benin phone numbers to the new format before sending to registration service 2024-12-02 10:57:27 -05:00
Jon Chambers 4d87b741cd Add a command to remove e164-associated "recently-deleted account" records 2024-11-27 12:29:42 -05:00
Jon Chambers d08bc4c413 Write "recently deleted account" rows exclusively by PNI 2024-11-27 12:29:42 -05:00
Ravi Khadiwala f5d3d1e65d Remove BackfillBeninPhoneNumberFormsCommand 2024-11-27 12:21:30 -05:00
Jon Chambers 916314233f Retire `DeleteE164RegistrationRecoveryPasswordsCommand` 2024-11-27 12:12:58 -05:00
Jonathan Klabunde Tomer 557a6ecd4f
Read deleted accounts by PNI rather than e164 2024-11-26 16:35:40 -08:00
Ameya Lokare 0e04cac800 Crawler to backfill PNI records of alternate forms of existing phone numbers 2024-11-26 18:46:08 -05:00
Jon Chambers 1db9258d39 Add a command to remove e164-associated registration recovery passwords 2024-11-26 18:38:27 -05:00
Jon Chambers 2803c2acdb Write registration recovery passwords exclusively by PNI 2024-11-26 18:31:36 -05:00
Ravi Khadiwala 8be43566a4 Fix swagger oneof annotations 2024-11-26 17:40:05 -05:00
Ameya Lokare d865cec2a4 Insert alternate forms of phone numbers -> PNI atomically 2024-11-26 17:39:53 -05:00
Jon Chambers 5b9f8177f2 Read registration recovery passwords exclusively by PNI 2024-11-26 17:31:08 -05:00
Jon Chambers 6967e4e54b Retire `MigrateRegistrationRecoveryPasswordsCommand` 2024-11-26 17:23:49 -05:00
Jon Chambers 96fb0ac3ae Add a utility method for testing if a number begins with a decimal prefix 2024-11-26 14:13:06 -06:00
Jon Chambers 7201938793 Add a utility method for getting alternate forms of (Benin) phone numbers 2024-11-26 14:13:06 -06:00
Jonathan Klabunde Tomer cdd6f78c73 Handle errors in deleted-accounts crawler 2024-11-25 21:22:33 -05:00
Jon Chambers ab94d3045d Add a buffer/shuffle pair to better distribute load across shards 2024-11-25 20:41:25 -05:00
Jon Chambers ff4e2bdfb7 Refresh registration recovery password expirations before retrying an insertion 2024-11-25 16:45:28 -05:00
Jonathan Klabunde Tomer ffed19d198
Create deleted-accounts records keyed by both e164 and PNI 2024-11-25 12:42:16 -08:00
ravi-signal 49d6a5e32d
Add error reporting to `/v1/devices/transfer_archive` 2024-11-25 12:41:51 -08:00
Jon Chambers 3ba7ba4f92 Remove abstract base class from `RegistrationRecoveryPasswords` 2024-11-25 15:27:30 -05:00
Jon Chambers 43ffc996db Use a segmented scan on a separate scheduler for registration recovery passwords 2024-11-25 14:18:56 -05:00
Jon Chambers 27f5f94c60 Retry registration recovery password migration attempts 2024-11-25 10:39:08 -05:00
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
Chris Eager 744042e8c8 Address some warnings in maven execution 2024-11-12 10:55:10 -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