Jon Chambers
355b320c92
Don't attempt to send empty message bundles when changing numbers
2026-06-26 15:51:28 -04:00
Jon Chambers
40fb9c4cee
Fix a bogus assertion for "change number" message-sending
2026-06-26 15:51:28 -04:00
Ravi Khadiwala
aa5ac70ad3
Select lifecycle-manager based on environment variable (like in FoundationDbClusterExtension)
Update Documentation / build (push) Waiting to run
Service CI / build (push) Waiting to run
2026-06-25 17:42:04 -04:00
Jon Chambers
2abf55e395
Don't trigger state transitions inside retryable transactions
2026-06-25 17:41:33 -04:00
Jon Chambers
808bb16103
Add basic read/acknowledgement counters to RedisDynamoDbMessageStream
2026-06-25 17:41:11 -04:00
Ameya Lokare
4743abcfbd
Port OneTimeDonationController to gRPC
2026-06-25 17:40:49 -04:00
Katherine
1b09529ece
Use V2 key transparency query RPCs
2026-06-24 15:02:34 -07:00
Chris Eager
0c3c390a0b
Update Donation-Permit header parameter documentation
2026-06-24 14:51:46 -07:00
Chris Eager
ca4ee141d8
Disable a flaky test
2026-06-24 13:18:07 -05:00
Jonathan Klabunde Tomer
671a6e1d7c
address review comments
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2026-06-24 12:14:52 -05:00
Jonathan Klabunde Tomer
f4e16676c9
add FoundationDbMessageStore api to clear messages before a given time
2026-06-24 12:14:52 -05:00
Chris Eager
78b3147491
Implement donation permit spending
2026-06-24 12:13:21 -05:00
Ravi Khadiwala
8b617b64f8
Add metric for requested attachment upload size
2026-06-24 12:11:57 -05:00
Jon Chambers
28aefe0ebe
Revert "Mirror message reads/acknowledgements via FoundationDbMessageStream"
...
This reverts commit 4e52317e26 .
2026-06-24 13:01:13 -04:00
Jon Chambers
4e52317e26
Mirror message reads/acknowledgements via FoundationDbMessageStream
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
2026-06-24 10:18:15 -04:00
Ravi Khadiwala
99465c1f41
Update to the latest version of the spam filter
Update Documentation / build (push) Waiting to run
Service CI / build (push) Waiting to run
2026-06-23 13:13:49 -05:00
Chris Eager
041c29bfa8
Update foundationdb to 7.3.68
2026-06-23 13:11:05 -05:00
Chris Eager
8e5ad7f52e
Remove unused mocking in CredentialsGrpcServiceTest
2026-06-23 13:11:05 -05:00
Jon Chambers
ca5d203f1c
Make RegistrationServiceClient blocking
2026-06-23 13:09:12 -05:00
ravi-signal
9a9b15ee0a
Add per-element constraint validation
2026-06-23 13:08:39 -05:00
ravi-signal
503941ec6a
Add a load-shedding GOAWAY
2026-06-23 13:07:49 -05:00
Ravi Khadiwala
ac720595e6
Add header to disable messages on authenticated websocket
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
Integration Tests / build (push) Has been cancelled
2026-06-18 15:28:41 -05:00
Jonathan Klabunde Tomer
8deb5a803a
foundationdb "versionstamp clock"
2026-06-18 13:27:59 -07:00
Jon Chambers
45f96cd702
Delete messages from FoundationDB asynchronously
2026-06-18 14:06:26 -04:00
Chris Eager
4a3275ad63
Add POST /v1/donation/permit
2026-06-18 13:06:18 -05:00
Ameya Lokare
911feceacb
Handle "no sender available" error code from registration service
Update Documentation / build (push) Waiting to run
Service CI / build (push) Waiting to run
2026-06-18 09:03:02 -04:00
Jon Chambers
fe0956c8f7
Don't add Dropwizard metrics to shared registries
2026-06-18 09:02:33 -04:00
Jon Chambers
60002a8a0f
Port StickerController to gRPC
2026-06-18 08:51:00 -04:00
Ameya Lokare
1876b71d39
Port SubscriptionController to gRPC
2026-06-18 08:27:38 -04:00
Jon Chambers
3cfe8b9f6c
Mirror message writes/deletions to FoundationDB
2026-06-18 08:27:03 -04:00
Jon Chambers
691a4162e1
Update to the latest version of the spam filter
2026-06-18 08:25:07 -04:00
Ravi Khadiwala
9505e7b1a1
Fix incorrect mockito matcher in BackupManagerTest
2026-06-17 12:43:34 -05:00
Jon Chambers
569f4f31e8
Update to the latest version of the spam filter
2026-06-17 08:46:11 -04:00
Ravi Khadiwala
06519ce9d1
Use uint64 for backups.proto object length
2026-06-17 08:45:43 -04:00
Jon Chambers
024fa9ce5f
Move "active epoch" configuration from dynamic to static configuration
2026-06-17 08:35:07 -04:00
Jon Chambers
7c9e3d029b
Remove an unused availableProcessors variable
2026-06-17 08:33:29 -04:00
Jon Chambers
cc6ef53f91
Retire unused methods in MessagesManager
2026-06-17 08:33:29 -04:00
Ravi Khadiwala
4c0f454209
Add a generic STREAM_CLOSED status
2026-06-17 08:32:47 -04:00
Chris Eager
9c393972e9
Update to the latest version of the spam filter
2026-06-16 20:02:56 -05:00
Jon Chambers
31c1bb8940
Support multiple "configuration epochs" of the FoundationDB message store
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
2026-06-16 09:06:18 -04:00
Jon Chambers
c3b2b43813
Port CallLinkController to gRPC
2026-06-16 09:02:24 -04:00
Jon Chambers
19f2574799
Update to the latest version of the spam filter
2026-06-16 09:02:03 -04:00
Ravi Khadiwala
adb5b6a4ea
Check message type before deserializing source serviceId
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
Integration Tests / build (push) Has been cancelled
2026-06-11 13:16:20 -05:00
Ravi Khadiwala
e79eb9904d
Update to the latest version of the spam filter
2026-06-11 11:36:07 -05:00
ravi-signal
fcdc0bbd74
Generate grpc api documentation
2026-06-11 11:35:20 -05:00
Ravi Khadiwala
b6317a1b43
Add gRPC message retrieval
2026-06-11 11:34:07 -05:00
Ravi Khadiwala
329d229ac7
Revert "Remove unused ClosableEpoch"
...
This reverts commit d0e022c23b .
2026-06-11 11:34:07 -05:00
Ravi Khadiwala
c50b4e52b0
Move some message retrieval metrics to MessageMetrics
2026-06-11 11:34:07 -05:00
Ravi Khadiwala
660011017d
Throw checked exceptions from CaptchaChecker
2026-06-11 11:33:56 -04:00
Jon Chambers
82e3c16fba
Port CallRoutingControllerV2 to gRPC
2026-06-11 11:31:57 -04:00
Jon Chambers
ae9f43bb3c
Don't include IOException messages in gRPC error responses
2026-06-11 11:31:57 -04:00
Jonathan Klabunde Tomer
ab4b5a1298
ignore disconnects from already-disconnected message listeners
2026-06-11 11:31:24 -04:00
Katherine Yen
97a77ce23e
Remove duplicate constructor for invalid argument gRPC exception with no details
2026-06-11 11:30:56 -04:00
Ameya Lokare
50ef5272f7
Fix handling write conflicts when redeeming subscription receipt
...
credentials
2026-06-11 11:30:16 -04:00
Chris Eager
d6c7c5e7bf
Use ProfileHelper.isPaymentAddressUpdateForbidden for both REST and gRPC
2026-06-11 10:29:14 -05:00
Ameya Lokare
32befd7c9a
Port DonationController to gRPC
2026-06-11 11:28:23 -04:00
Jon Chambers
dd93833324
Avoid retaining messages while waiting for acknowledgement
2026-06-11 11:14:02 -04:00
Jon Chambers
5d624b463a
Acknowledge messages by ID rather than by passing the whole message around
2026-06-11 11:14:02 -04:00
Jon Chambers
f524d9fb25
Retire string-based service identifiers/UUIDs in Envelope entities
Update Documentation / build (push) Waiting to run
Service CI / build (push) Waiting to run
2026-06-10 14:28:30 -04:00
Jon Chambers
4a9302033a
Remove the additional callback executor from FoundationDbMessageStore
2026-06-10 13:12:40 -04:00
Jon Chambers
292f03586b
Add an IP-based rate limiter for adding payment methods for subscriptions
2026-06-10 11:29:51 -04:00
Jon Chambers
8257859834
Add an IP-based rate limiter for creating one-time donations
2026-06-10 11:29:51 -04:00
Katherine Yen
2c5210e7c4
Fix a flaky test by waiting for the async insert to complete before attempting to remove the message
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
2026-06-08 17:42:35 -04:00
Katherine
b93da1323b
Discard ephemeral messages from the finite publisher in FoundationDB
2026-06-08 17:23:21 -04:00
Ravi Khadiwala
d9c39cc12b
Update messages integration test to use websocket
2026-06-08 16:01:23 -05:00
Ravi Khadiwala
d69027ce5c
Remove REST message retrieval entities
2026-06-08 16:01:23 -05:00
Jon Chambers
a4381a2617
Parse FoundationDB envelopes at load time and add GUIDs later
2026-06-08 16:56:53 -04:00
Jon Chambers
3e4ad32fce
Introduce AcknowledgedMessageBuffer
2026-06-08 16:56:15 -04:00
Jon Chambers
c3a48fd08b
Port CertificateController to gRPC
2026-06-08 16:55:53 -04:00
Ravi Khadiwala
7471a21fee
Update to the latest version of the spam filter
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
2026-06-05 12:41:26 -05:00
Ameya Lokare
13a5458344
Port ChallengeController to gRPC
2026-06-05 12:32:46 -05:00
Ravi Khadiwala
704b53aa79
Close responses in WhisperServerServiceTest
2026-06-05 12:30:09 -05:00
Jon Chambers
5774ffdeab
Wait for test message insertion to complete before attempting to read
2026-06-05 10:22:34 -04:00
Ravi Khadiwala
fac7dbbeb7
Add a timeout to WhisperServerServiceTest
2026-06-04 18:06:27 -05:00
Ravi Khadiwala
29b1ec694b
Update to the latest version of the spam filter
Update Documentation / build (push) Waiting to run
Service CI / build (push) Waiting to run
Integration Tests / build (push) Has been cancelled
2026-06-03 11:39:07 -05:00
dependabot[bot]
181004f031
Bump the minor-actions-dependencies group with 2 updates
...
Bumps the minor-actions-dependencies group with 2 updates: [actions/checkout](https://github.com/actions/checkout ) and [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials ).
Updates `actions/checkout` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](de0fac2e45...df4cb1c069 )
Updates `aws-actions/configure-aws-credentials` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases )
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md )
- [Commits](ec61189d14...e7f100cf4c )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-actions-dependencies
- dependency-name: aws-actions/configure-aws-credentials
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-03 12:03:36 -04:00
Jon Chambers
bb18a84808
Add an experiment to recompress messages just before delivery
2026-06-03 12:00:34 -04:00
Jon Chambers
27fb4f227d
Revert "Add an experiment to skip envelope expansion"
...
This reverts commit 0d32ca120d .
2026-06-03 12:00:34 -04:00
Ravi Khadiwala
324c4eafb6
Retire REST message retrieval
...
Remove `GET /v1/messages`
2026-06-03 10:59:41 -05:00
Jon Chambers
0d32ca120d
Add an experiment to skip envelope expansion
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
2026-06-02 16:01:06 -04:00
Katherine
69a954e889
Discard stale ephemeral messages in FoundationDB
2026-06-02 16:00:25 -04:00
Jon Chambers
d57ed3133c
Avoid spurious padding
2026-06-01 16:51:56 -05:00
Jon Chambers
4a9f44b88c
Use an all-zero IV and the parameter block as the first plaintext block
2026-06-01 16:51:56 -05:00
Jon Chambers
264897656b
Actually make the "copy to S3" command available
2026-05-29 10:03:47 -04:00
Chris Eager
f8f60c92ff
Use getByPhoneNumberIdentifier in getAccountsForChangeNumber
2026-05-29 10:00:17 -04:00
Jon Chambers
e6c24c373d
Update to the latest version of the spam filter
2026-05-29 09:59:17 -04:00
Jon Chambers
ab34e7c10e
Update to the latest version of the spam filter
2026-05-28 16:50:48 -04:00
Jon Chambers
c32d15617b
Add a command for copying files from the open internet to S3
2026-05-28 16:17:37 -04:00
Jon Chambers
11136868ac
Update to the latest version of the spam filter
2026-05-28 10:37:58 -04:00
Katherine
81167a8ae5
Add a device capability for username change sync messages
2026-05-27 15:34:01 -04:00
ameya-signal
a6bf60e4cb
Fix flaky test FoundationDbMessageStoreTest#getMessagesPublishMoreAfterQueueEmpty
2026-05-27 15:33:07 -04:00
Jon Chambers
15698aee46
Wire PaymentsGrpcService up as an authenticated service
2026-05-27 15:32:49 -04:00
Katherine
b2942a8dbd
Limit the number of unacknowledged FoundationDB messages
2026-05-27 15:32:27 -04:00
Jon Chambers
f10cc26144
Include optional call ID hashes in call quality survey responses
2026-05-27 15:31:53 -04:00
Katherine Yen
d4581931ff
Update to the latest version of the spam filter
2026-05-27 15:31:32 -04:00
Chris Eager
41b953f5a1
Add rotation_id to ZK Credential key
2026-05-27 14:23:20 -05:00
Jon Chambers
3f1df3032f
Update to the latest version of the spam filter
2026-05-26 09:17:49 -04:00
Jon Chambers
cb6123125f
Only send verification code push notifications to primary devices
2026-05-26 09:17:32 -04:00
Jon Chambers
9f6d80cb39
Update to the latest version of the spam filter
Update Documentation / build (push) Has been cancelled
Service CI / build (push) Has been cancelled
2026-05-21 14:33:55 -04:00
Jon Chambers
da439e7144
Guard against NullPointerExceptions when getting details from a GoogleJsonResponseException
2026-05-21 13:10:44 -04:00
Jonathan Klabunde Tomer
22656396dc
serialize account current profile version as base64
2026-05-21 13:10:03 -04:00
Chris Eager
90b280d6a0
Convert Subscriptions to sync DynamoDB client
2026-05-21 13:09:31 -04:00
Chris Eager
482a1b7bb5
Convert RedeemedReceiptsManager to sync DynamoDB client
2026-05-21 13:09:31 -04:00
Chris Eager
fea4300d7d
Convert RegistrationRecoveryPasswords to sync DynamoDB client
2026-05-21 13:08:49 -04:00
Chris Eager
66b0ed16d1
Convert VerificationSessions to sync DynamoDB client
2026-05-21 13:08:49 -04:00
Ameya Lokare
defbc1c853
Implement FoundationDbMessageStream#acknowledgeMessage
2026-05-21 13:07:50 -04:00
Jon Chambers
68a5e4e8ee
Update to the latest version of the spam filter
2026-05-20 12:49:36 -04:00
Jon Chambers
f83efce4d4
Add a phased enrollment mechanism for verification code push notifications
2026-05-20 12:20:00 -04:00
Jon Chambers
0945e953f2
Send a "verification code requested" push notification to existing accounts
2026-05-20 12:20:00 -04:00
Jon Chambers
51f6e57bbd
Allow differing TTLs by notification type
2026-05-20 12:20:00 -04:00
Jon Chambers
539a84d0d0
Allow PushNotification data to be any type of object
2026-05-20 12:20:00 -04:00
Ravi Khadiwala
848c457bbe
Use micrometer's netty metrics
2026-05-20 12:18:27 -04:00
Ravi Khadiwala
c5ae3963b5
Fix ProxyProtocolHandlerTest resource leak
...
Also replace AbstractLeakDetectionTest with netty LeakPresenceExtension
2026-05-19 16:33:00 -05:00
ravi-signal
771fecd396
Fix flaky backpressure test
2026-05-19 15:59:35 -05:00
Chris Eager
b9a24fedea
Move handleAccountCreated() call to outside re-registration
2026-05-19 13:07:44 -05:00
Ravi Khadiwala
9d3b6ebb4a
Update to the latest version of the spam filter
2026-05-19 11:30:51 -05:00
Chris Eager
2cf91af5d9
Remove obsolete client public keys table from config
2026-05-19 11:19:19 -05:00
Chris Eager
d0e022c23b
Remove unused ClosableEpoch
2026-05-19 11:19:19 -05:00
Chris Eager
460e5cb499
Use DynamoDB for change number waiting periods
...
DynamoDB is even simpler for integration tests.
2026-05-19 11:18:10 -05:00
Jonathan Klabunde Tomer
23305e4460
add a counter for profile version format
2026-05-19 09:15:20 -07:00
Jonathan Klabunde Tomer
06d96a04df
store account profile current version as byte array, not hex
2026-05-19 09:15:20 -07:00
Jon Chambers
022f2b874d
Bypass circuit breakers, timeouts when clearing Redis instances before test runs
2026-05-19 11:32:09 -04:00
Ravi Khadiwala
b09a9b8f39
Add netty dependencies from omnibus
2026-05-18 11:55:59 -05:00
Chris Eager
4e72422cfd
Add netty dependencies to POM
2026-05-18 11:53:21 -05:00
Chris Eager
d41c73917f
Update integration test with post-registration change number waiting period
2026-05-18 11:49:56 -05:00
Chris Eager
dd29ee1f27
Refactor Change Number waiting period to dedicated manager
...
This simplifies integration testing.
2026-05-18 11:49:56 -05:00
Chris Eager
9dc6e049f4
Remove obsolete remote config response
2026-05-18 11:31:20 -05:00
Jon Chambers
7fe3d4a30f
Retire oversized message warning metrics
2026-05-18 11:29:54 -05:00
Jon Chambers
88a308fac0
Reduce max message size to 96 KiB
2026-05-18 11:29:54 -05:00
Ravi Khadiwala
34f5351a4c
Update to the latest version of the spam filter
2026-05-18 11:29:15 -05:00
Ravi Khadiwala
59f704b6cc
Add omnibus H2 server and update to dropwizard 5.0.1
2026-05-18 11:27:17 -05:00
Ravi Khadiwala
0f7d5d7fa4
normalize header combination, special-case user-agent header
2026-05-18 11:25:48 -05:00
Ravi Khadiwala
1ae361b15f
Update to the latest version of the spam filter
2026-05-15 12:14:42 -05:00
Ravi Khadiwala
2c9676a1ef
Revert omnibus H2 server and dropwizard 5.0.1
2026-05-15 12:13:54 -05:00
Ravi Khadiwala
2ae5c92df2
Update to the latest version of the spam filter
2026-05-15 10:15:23 -05:00
Ravi Khadiwala
3c02f8c3e1
Add documentation to BackupInfo responses
2026-05-15 09:49:40 -05:00
Ravi Khadiwala
4c4282162f
Update to dropwizard 5.0.1
2026-05-15 09:44:38 -05:00
Ravi Khadiwala
0beeb8a935
Add h2 omnibus server
2026-05-15 09:44:38 -05:00
Ravi Khadiwala
8d0ad7b085
h2 websocket support
2026-05-15 09:44:38 -05:00
Chris Eager
12e265fb71
Refine Profiles gRPC errors and documentation
2026-05-14 10:55:44 -05:00
Chris Eager
90c27f6969
Add post-registration change number waiting period
2026-05-14 10:55:02 -05:00
Jon Chambers
f045e3ee0f
Introduce an emergency "read only" mode for messages
2026-05-11 11:43:41 -04:00
Ravi Khadiwala
4485e26562
rename maxUploadSizeInBytes to maxAttachmentUploadSizeInBytes
2026-05-08 13:39:36 -05:00
Ravi Khadiwala
05b7a140fc
Add a configuration field for max message backup upload size
2026-05-08 13:18:17 -05:00
Ameya Lokare
bde52d775e
Update to the latest version of the spam filter
2026-05-07 12:36:51 -07:00
Ravi Khadiwala
59f2f04b7c
Handle BackupFailedZkAuthenticationException in grpc SetPublicKey
2026-05-07 11:43:24 -05:00
Chris Eager
305b015784
Update to the latest version of the spam filter
2026-05-06 12:53:24 -05:00
Chris Eager
f6ebde8185
Add Profile gRPC services to server
2026-05-06 12:48:58 -05:00
dependabot[bot]
58d4a3b687
Bump aws-actions/configure-aws-credentials
...
Bumps the minor-actions-dependencies group with 1 update: [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials ).
Updates `aws-actions/configure-aws-credentials` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases )
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md )
- [Commits](8df5847569...ec61189d14 )
---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 12:48:47 -05:00
Chris Eager
9c6ec78a4e
Match profiles V2 test table name in Java and configuration
2026-04-29 19:57:20 -05:00
Chris Eager
1e3b2c8ce8
Profiles gRPC: initial v2 implementation
2026-04-29 10:32:18 -05:00
Katherine Yen
1b11c3efc2
Log when DynamoDB/JSON phone numbers differ
2026-04-29 10:28:27 -05:00
Ravi Khadiwala
b441fde213
Enforce key-ids fit in a positive signed 32-bit int
2026-04-29 10:28:15 -05:00
Jon Chambers
de5cb3370d
Don't try to decode null session IDs
2026-04-17 14:51:07 -04:00
Ameya Lokare
52b4e0b87f
Enforce rate limiting on batch identity check endpoint
2026-04-17 13:52:41 -04:00
Jon Chambers
3e19b415b6
Always use fresh, non-cached Account instances when changing numbers
2026-04-17 13:47:54 -04:00
Jon Chambers
3790b53496
Update to the latest version of the spam filter
2026-04-17 11:48:27 -04:00
Jon Chambers
6c26c38b96
Turn on compact object headers
2026-04-17 11:47:58 -04:00
Chris Eager
aa1ff253fb
Enforce AccountAttributes#isUnrestrictedUakValid
2026-04-17 09:54:53 -04:00
Jon Chambers
1301bfda93
Avoid blocking in an async context
2026-04-17 09:54:36 -04:00
Jon Chambers
c02667e2e4
Add unit tests for PhoneVerificationTokenManager
2026-04-17 09:54:36 -04:00
Jon Chambers
9e6cbe8f82
Always use fresh/non-cached copies of accounts when making modifications
2026-04-17 09:41:59 -04:00
Chris Eager
1e2d27585a
Add gRPC size annotations; allow non-empty UAK for unrestricted
2026-04-16 13:18:56 -05:00
Chris Eager
c70674ed26
Update serialization test
2026-04-16 13:18:56 -05:00
Chris Eager
0281756c01
Add metrics for invalid unrestricted UAK
2026-04-16 13:18:56 -05:00
Chris Eager
5e1338a571
Factor out DeviceAttributes from AccountAttributes
2026-04-16 13:18:56 -05:00
Chris Eager
149de6c464
Add UAK validator to AccountAttributes
2026-04-16 13:18:56 -05:00
Chris Eager
b551e0cb34
Require UAKs to be non-zero length or null
2026-04-16 13:18:56 -05:00
Chris Eager
2344d3d9b7
Add AccountAttributes serialization test
2026-04-16 13:18:56 -05:00
Chris Eager
04aa528ad8
Add Accounts.SetZkCredentialKey
2026-04-16 12:13:34 -05:00
Jon Chambers
1b5c602351
Retire the device count override system
2026-04-16 12:52:15 -04:00
Ravi Khadiwala
bbeeed9d1f
Remove unused static grpcAllowList configuration
2026-04-15 18:05:06 -04:00
Chris Eager
aabbbe486f
Update exception for empty non-sync messages to MessageSender
2026-04-15 17:03:10 -05:00
Jon Chambers
b702d9d5a9
Remove service level objectives for captcha outcome distribution
2026-04-15 18:01:59 -04:00
Jon Chambers
efc39573e4
Use CaptchaMetrics to measure captcha scores for sending messages and verification
2026-04-15 16:40:06 -04:00
Jon Chambers
87e88dd3a1
Introduce CaptchaMetrics
2026-04-15 16:40:06 -04:00
Chris Eager
4ae82cbb59
Add @NotEmpty validation to IncomingMessageList
2026-04-15 16:38:19 -04:00
Jon Chambers
dcb5187629
Retire V1 authentication tokens
2026-04-15 16:37:52 -04:00
Jon Chambers
bb589d6daa
Retire AccountsManager#updateDeviceAuthentication
2026-04-15 16:37:52 -04:00
Ameya Lokare
bb7d855aca
Prevent reg lock bypass on alternate phone number forms
2026-04-15 16:37:18 -04:00
Ameya Lokare
288b9f82d7
Prevent potentially orphaned usernames due to concurrent username
...
confirmation during account deletion
2026-04-15 16:36:41 -04:00
Ameya Lokare
61f5998e8a
Add rate limiter to batch profile check
2026-04-15 16:35:24 -04:00
Chris Eager
53a35a827e
Remove obsolete Profiles cache key
2026-04-14 11:01:57 -05:00
Chris Eager
a3c712f8d3
Migrate Profiles cache key to use hash tag
2026-04-14 09:50:52 -05:00
Jon Chambers
56f25f5a39
Avoid overflows when calculating media ciphertext size
2026-04-14 10:46:16 -04:00
Chris Eager
68b3e9a07c
Exclude ExpiringProfileKeyCredentialProfileResponse.credential for non-current versions
2026-04-14 09:23:53 -05:00
Chris Eager
5190b197e8
Update to Java 25
2026-04-14 09:13:50 -05:00
Chris Eager
09c18205d4
Validate level in OneTimeDonationController
2026-04-13 17:12:35 -05:00
Chris Eager
ea1e4f02d0
Clean up trivial warnings in OneTimeDonationController
2026-04-13 17:12:35 -05:00
Chris Eager
b5e490b987
Make gift amount validation consistent between PayPal and Stripe
2026-04-13 17:12:35 -05:00
Chris Eager
7b8141d174
Update Maven plugins
2026-04-13 17:10:54 -05:00
Chris Eager
83ebd994c7
Update to the latest version of the spam filter
2026-04-13 17:02:33 -05:00
Ravi Khadiwala
c4a48dd1e6
Add a base64url gRPC validator and apply it to backup copy
2026-04-13 17:01:38 -05:00
Ravi Khadiwala
5bb7edcade
Reject DeviceCheck assertions if they race with a counter update
2026-04-13 17:01:25 -05:00
Chris Eager
75948dc617
Update to the latest version of the spam filter
2026-04-09 16:43:44 -05:00
Ameya Lokare
0edfcab8dd
Update dependencies
2026-04-09 16:40:41 -05:00
Ravi Khadiwala
95843529ba
Add comments to explain why we remove RRPs early
2026-04-09 16:35:08 -05:00
Ravi Khadiwala
3930b1841e
Add missing join() in when deleting RRPs after verification
2026-04-09 16:35:08 -05:00
Jon Chambers
070aa5f0cd
Limit cardinality of HTTP methods in request metrics
2026-04-09 17:35:06 -04:00
Jon Chambers
0d42f37a5c
Add a (failing!) test for spurious HTTP methods in request metrics
2026-04-09 17:35:06 -04:00
Jon Chambers
837065bfbd
Retire commands for removing accounts/devices that do not support SPQR
2026-04-09 17:34:50 -04:00
Jon Chambers
2f9ec6936f
Update to the latest version of the spam filter
2026-04-01 20:22:19 -04:00
Jon Chambers
fb455bf1db
Encode message versionstamps as GUIDs
2026-04-01 20:18:47 -04:00
Jon Chambers
d2cbdd4609
Prohibit pre-set message GUIDs when inserting into FoundationDB
2026-04-01 20:18:47 -04:00
Jon Chambers
844e103c86
Include shard ID as user data in message versionstamps
2026-04-01 20:18:47 -04:00
Jon Chambers
2500e85c01
Introduce VersionstampUUIDCipher
2026-04-01 20:07:47 -04:00
Jon Chambers
971d9d64a8
Update to the latest version of the spam filter
2026-04-01 14:49:50 -04:00
Katherine
cfac798f9e
Handle account reclamation with equivalent phone numbers
2026-04-01 11:29:06 -04:00
Jon Chambers
34e8e04793
Update to the latest version of the spam filter
2026-04-01 11:28:40 -04:00
Jon Chambers
0664c04074
Update to the latest version of the spam filter
2026-03-31 15:41:27 -04:00
Ameya Lokare
e454b29c6a
FoundationDB message stream implementation
2026-03-31 15:40:57 -04:00
Jon Chambers
4a8313eb67
Add a handleVerificationCompleted hook to RegistrationFraudChecker
2026-03-31 15:24:06 -04:00
Ravi Khadiwala
fa145d7889
Use 'response' rather than 'outcome' in backups.proto responses
2026-03-31 11:11:25 -05:00
Ravi Khadiwala
edcc61d4ba
Add reason annotations to backups.proto
2026-03-31 11:11:25 -05:00
Ravi Khadiwala
34c7106e7e
Add reason annotations to account.proto
2026-03-31 11:11:25 -05:00
Ravi Khadiwala
ee409af54a
Add reason annotations to messages.proto
2026-03-31 11:11:25 -05:00
Ravi Khadiwala
04c4d993a6
Make reason tags upper-case
2026-03-31 11:11:25 -05:00
Ravi Khadiwala
0ee06d83b7
Add byte-based rate-limit to attachments
2026-03-31 11:10:15 -05:00
ravi-signal
f9d3cd8d82
Add and enforce uploadLength in backup endpoints
2026-03-31 11:08:08 -05:00
Jon Chambers
771c98fd92
Susbcribe on a separate scheduler for non-SPQR account removal
2026-03-31 11:07:10 -05:00
ravi-signal
82d9107865
Add an attachment uploadLength parameter and enforce it
2026-03-31 11:05:18 -05:00
adel-signal
f2b0264fac
calling: add dynamic turn configuration for testing new cloudflare TURN endpoints
2026-03-30 11:13:33 -05:00
Jon Chambers
132611f159
Add a command for removing accounts that do not support SPQR
2026-03-30 11:34:02 -04:00
Jon Chambers
a741edd80f
Add a command for removing linked devices that do not support SPQR
2026-03-30 11:34:02 -04:00
Jon Chambers
8c3dd7aa48
Update to the latest version of the spam filter
2026-03-30 11:30:05 -04:00
Chris Eager
b0792dd0a7
Update to the latest version of the spam filter
2026-03-24 15:17:52 -05:00
Jon Chambers
d9d6560b47
Add request/response byte counters to the gRPC metrics interceptor
2026-03-24 15:03:10 -04:00
Jon Chambers
8cc0948a34
Use an EnumSet for CAPABILITIES_REQUIRED_FOR_NEW_DEVICES
2026-03-24 15:01:43 -04:00
Jon Chambers
575280da74
Don't allow linked devices that are missing capabilities required at registration time
2026-03-24 15:01:43 -04:00
Jon Chambers
46bfc12869
Check for SPQR capability in third-party clients in remote deprecation filter
2026-03-24 14:29:20 -04:00
Jon Chambers
73ec57e911
Avoid constructing a Metadata.Key for authentication on every server call
2026-03-24 14:29:20 -04:00
ravi-signal
fb84066f09
Match KeyController's rate limit key in KeysGrpcService
2026-03-24 13:26:25 -05:00
Ravi Khadiwala
4d24c814cc
Check if resolvedRecipients is empty before inserting an MRM
2026-03-24 13:15:57 -05:00
Jon Chambers
9dc807a255
Remove the "unrecognized UA" remote deprecation reason
2026-03-24 14:10:51 -04:00
Jon Chambers
5d59538924
Modernize RemoteDeprecationFilterTest
2026-03-24 14:10:51 -04:00
Jon Chambers
04c102e51f
Convert DynamicRemoteDeprecationConfiguration to a record
2026-03-24 14:10:51 -04:00
Jon Chambers
71bc23ed02
Standardize formatting in DynamicRemoteDeprecationConfiguration
2026-03-24 14:10:51 -04:00
ravi-signal
7c26965ece
Use a JWT for external attachment auth and add a maxLen claim
2026-03-19 15:19:43 -05:00
Jon Chambers
5c3a82c257
Update to the latest version of the spam filter
2026-03-19 13:58:29 -04:00
Jon Chambers
5fedb48b55
Update to the latest version of the spam filter
2026-03-18 10:01:31 -04:00
Jon Chambers
69d9fc12ca
Simplify MessagesCache#getEarliestUndeliveredTimestamp
2026-03-17 14:19:22 -04:00
Ravi Khadiwala
81f2499889
Port AttachmentController to gRPC
2026-03-17 13:18:18 -05:00
Jon Chambers
82a3bba7ec
Clean up last vestiges of "total queue index" system
2026-03-17 14:17:11 -04:00
Jon Chambers
ee09d6b334
Make sure the client connection process has completed before persisting messages
2026-03-16 12:35:49 -04:00
Jon Chambers
dc215cab54
Add a command to discard now-unsued message cache queue indices
2026-03-16 11:43:03 -04:00
Jon Chambers
99bbbbe1ac
Retire "total queue index" from message management scripts
2026-03-16 11:43:03 -04:00
Jon Chambers
38121bcbfa
Use a shorter default node claim TTL
2026-03-16 10:07:38 -04:00
Jon Chambers
5e7a50a36d
Simplify and use a shorter delay in MessagePersisterIntegrationTest
2026-03-16 10:07:38 -04:00
Jon Chambers
17531c5927
Remove a spurious rate limit response annotation
2026-03-16 09:35:37 -04:00
Jon Chambers
e7df1aeb5b
Add a configurable pause between persisted nodes
2026-03-16 09:35:19 -04:00
Jon Chambers
dc8e03bd40
Fetch messages to persist via the same pathway as messages to deliver
2026-03-16 09:34:59 -04:00
Jon Chambers
4578150e5a
Add a test for fetching messages when a queue is locked for persistence
2026-03-16 09:34:59 -04:00
Jon Chambers
bd97e70a56
Add a test for fetching messages with a "discardable" first page
2026-03-16 09:34:59 -04:00
Jon Chambers
206f114b34
Add a (failing!) test for persisting messages when the entire first page is discardable
2026-03-16 09:34:59 -04:00
Ameya Lokare
2dc4db3918
Revert "Update to Java 25"
...
Back to Java 24 for now
2026-03-13 18:32:36 -07:00
Jon Chambers
98dc758bb7
Update to the latest version of the spam filter
2026-03-13 19:24:10 -04:00
Jon Chambers
b4c594c657
Add scan COUNT arguments and rate limits for queue scans
2026-03-13 18:20:51 -04:00
Chris Eager
b55afdd704
Update to Java 25
2026-03-13 18:20:30 -04:00
Chris Eager
136cddf6e2
Add Profiles OpenAPI annotations
2026-03-13 18:20:18 -04:00
ravi-signal
b7d455ed11
Validate pre-key key-id ranges
2026-03-12 16:37:28 -05:00
Chris Eager
ac23b8e79e
Add additional null check for app store's APIException#getApiError
2026-03-12 16:36:32 -05:00
Jon Chambers
af2d276f37
Log dropped persistence errors via a hook
2026-03-12 17:32:33 -04:00
Jon Chambers
8154bb1047
Add a dedicated counter for "persist node" events
2026-03-12 12:12:07 -04:00
Jon Chambers
b647853983
Add better logging for unhandled persister errors
2026-03-12 12:11:38 -04:00
Jon Chambers
3350922456
Don't destroy persister schedulers/executors while the persister is still running
2026-03-12 11:15:49 -04:00
Jon Chambers
69af979bfa
Use a SCAN-based strategy for message persisters
2026-03-12 10:04:04 -04:00
Jon Chambers
a142916fef
Resolve minor warnings/suggestions throughout MessagePersister and MessagePersisterTest
2026-03-12 10:04:04 -04:00
Ameya Lokare
9ff1431488
Update to the latest version of the spam filter
2026-03-11 11:11:09 -07:00
Ameya Lokare
cf2d3369cb
Change ChallengeRequired token type to string
2026-03-11 10:57:32 -07:00
Chris Eager
c41ae57871
Cancel a subscription immediately if the currency is no longer supported
2026-03-11 12:54:41 -05:00
Ameya Lokare
6d351aad7b
Update to the latest version of the spam filter
2026-03-09 14:01:00 -07:00
Ameya Lokare
a320504fdc
Include raw "Accept-Language" header value in RequestAttributes
2026-03-09 13:46:46 -07:00
Jon Chambers
11df65b8d8
Keep a count of open WebSockets by ASN region
2026-03-09 16:29:20 -04:00
Katherine
e96149ecf5
Add null check for app store's APIException#getApiError
2026-03-09 16:28:57 -04:00
Ravi Khadiwala
db66d4ef18
Add size annotations to AccountAttributes
2026-03-06 15:05:39 -06:00
Ravi Khadiwala
610782b8c3
Add annotation-based validations to a number of services
2026-03-06 15:05:39 -06:00
Jon Chambers
aae1541e88
Include required device capabilities when creating users in integration tests
2026-03-06 15:53:18 -05:00
Ravi Khadiwala
1cf3bf5ecf
Add a oneof case for the unrestricted access path in gRPC services
2026-03-06 14:49:26 -06:00
Ravi Khadiwala
a90fa5db02
Fix oneof field validation
2026-03-06 14:49:26 -06:00
Jon Chambers
f5f217f3de
Prevent capability downgrades for SPARSE_POST_QUANTUM_RATCHET
2026-03-06 12:18:04 -05:00
Graeme Connell
c93aa7a9b9
Require SPARSE_POST_QUANTUM_RATCHET at registration time
2026-03-06 12:18:04 -05:00
Jon Chambers
d519a80f90
Remove AccountLockManager#withLockAsync
2026-03-05 09:54:05 -05:00
Jon Chambers
ec2cb8581c
Make account deletion a blocking operation
2026-03-05 09:54:05 -05:00
Jon Chambers
405b04f07b
Make adding/removing devices blocking and remove async update plumbing
2026-03-05 09:54:05 -05:00
Jon Chambers
31de1fc1a3
Remove asynchronous account update plumbing
2026-03-05 09:54:05 -05:00
Jon Chambers
de458c3e6a
Remove AccountsManager#updateDeviceAsync
2026-03-05 09:54:05 -05:00
Jon Chambers
8df3f3c150
Update version number in a comment
2026-03-04 18:05:10 -05:00
dependabot[bot]
8800b79f97
Bump aws-actions/configure-aws-credentials from 5.1.1 to 6.0.0
...
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials ) from 5.1.1 to 6.0.0.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases )
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md )
- [Commits](61815dcd50...8df5847569 )
---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 13:03:27 -05:00
Ravi Khadiwala
a66b8b278e
Register implemented gRPC services
2026-03-03 12:34:48 -06:00
Ravi Khadiwala
9e2d8125f0
Move the envelope type down to the device level
2026-03-03 12:34:16 -06:00
Chris Eager
865ecc0005
Update to the latest version of the spam filter
2026-03-02 10:29:14 -06:00
Jon Chambers
175c9ad823
Remove DynamicConfigurationManager (unused) from AccountsManager
2026-02-27 17:25:56 -05:00
Ravi Khadiwala
13c017c869
Update to the latest version of the spam filter
2026-02-27 16:24:53 -06:00
ravi-signal
f872ade347
Remove ChallengeRequired variants from sealed-sender gRPC responses
2026-02-27 16:01:44 -06:00
Jon Chambers
80893152c9
Remove reactor-grpc as a dependency
2026-02-27 16:59:36 -05:00
Chris Eager
6d87b24ba3
Remove deprecated X-Signal-Key header
2026-02-27 15:50:38 -06:00
Jon Chambers
065809e34f
Use simple-grpc in KeysGrpcService and KeysAnonymousGrpcService
2026-02-27 16:49:15 -05:00
Jon Chambers
c63cbc304f
Use simple-grpc in DevicesGrpcService
2026-02-26 17:31:13 -05:00
Jon Chambers
5d306f8d15
Make username-related operations blocking
2026-02-26 17:20:34 -05:00
Jon Chambers
ad9c03186a
Use simple-grpc in AccountsGrpcService/AccountsAnonymousGrpcService
2026-02-26 17:08:54 -05:00
Jon Chambers
69825dd2a4
Remove unused ClientPublicKeys infrastructure
...
We're planning on using a different authentication strategy for gRPC
2026-02-26 17:08:05 -05:00
Ravi Khadiwala
c8d4ea97e4
Make GrpcAllowListInterceptor dynamically configurable
2026-02-24 16:44:05 -05:00
Ravi Khadiwala
f17a39386b
Rearrange gRPC interceptor ordering
2026-02-24 16:40:07 -05:00
Ravi Khadiwala
77c4962db8
Don't reuse metadata in ServerInterceptorUtil
2026-02-24 16:40:07 -05:00
Jon Chambers
eedc4e23fe
Use simple-grpc for PaymentsGrpcService
2026-02-24 16:36:23 -05:00
Chris Eager
b43e63c6f0
Update to the latest version of the spam filter
2026-02-24 15:33:59 -06:00
Katherine
b318dd2db7
Remove support for searching identifiers by version
2026-02-24 16:33:48 -05:00
Chris Eager
5b3679f56e
Update to the latest version of the spam filter
2026-02-23 12:38:34 -06:00
Ravi Khadiwala
8f13beb53b
Increse SVR credential validity period to match max account idle duration
2026-02-23 13:38:20 -05:00
Chris Eager
c0432d828d
Handle MCC-only HLR responses
2026-02-23 12:37:49 -06:00
Jon Chambers
f390aabb3a
Add "additional specifiers" dimensions to open WebSocket counters and simplify meter construction
2026-02-20 16:33:21 -05:00
Jon Chambers
cb3363410c
Revert "Add tags from "additional specifiers" to requests-by-version counter"
...
This reverts commit e0632e9800 .
2026-02-20 16:33:21 -05:00
Ravi Khadiwala
1d1570464d
Fix one missed int32->uint32 cdn number conversion
2026-02-20 16:18:02 -05:00
Chris Eager
541e93fc98
Remove explicit percentile configuration
2026-02-20 15:12:44 -06:00
Chris Eager
d87cf01a9b
Use default distribution statistic config as parent
2026-02-20 15:12:26 -06:00
Chris Eager
b61c7e2345
Update to the latest version of the spam filter
2026-02-20 15:11:22 -06:00
Ravi Khadiwala
2137fc519d
Split BackupInfo RPC into media/message variants
2026-02-19 13:34:21 -05:00
Ravi Khadiwala
f7922856fe
Use consistent success indicator in backups.proto
2026-02-19 13:34:21 -05:00
Jon Chambers
99c811273b
Correctly parse iOS/Android additional specifiers
2026-02-19 12:59:54 -05:00
Jon Chambers
ac5b62478c
Add a (failing!) test for parsing OS information for iOS/Android
2026-02-19 12:59:54 -05:00
ravi-signal
207d95dfdd
Select only matching entitlements from storekit list
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2026-02-19 11:59:11 -06:00
Jon Chambers
c78541f00b
Update to the latest version of the spam filter
2026-02-18 13:46:22 -05:00
Jon Chambers
6b9734f70f
Add an "is disposable?" field to CarrierData
2026-02-18 13:31:55 -05:00
Ravi Khadiwala
a99635fbee
Actually use updated account in getBackupAuthCredentials
2026-02-18 13:31:35 -05:00
Jon Chambers
e0632e9800
Add tags from "additional specifiers" to requests-by-version counter
2026-02-18 13:30:50 -05:00
Jon Chambers
24029ef00c
Add a utility method to get OS, OS version, and libsignal version tags from UA additional specifiers
2026-02-18 13:30:50 -05:00
Jon Chambers
5ffcdb1c3f
Avoid unnecessary re-parsing of User-Agent strings
2026-02-18 13:21:12 -05:00
Jon Chambers
d659af566b
Remove utility method for testing if clients are using libsignal networking
2026-02-18 13:07:45 -05:00
Ravi Khadiwala
5850eeb87b
Avoid reading modified account when generating backup credentials
2026-02-17 15:23:57 -05:00
Chris Eager
368e705b68
Migrate one-time donations tests to OneTimeDonationControllerTest
2026-02-17 13:58:56 -06:00
Chris Eager
39beb59b58
Add PayPalLineItemInput with localized description
2026-02-17 13:58:56 -06:00
Chris Eager
118b1d31cf
Update apollo-client-maven-plugin to 7.1.0
2026-02-17 13:58:56 -06:00
Chris Eager
24a483a689
Update to the latest version of the spam filter
2026-02-17 13:58:24 -06:00
Chris Eager
183cbab4f3
Remove duplicate integration AccountTest#testCreateAccountAtomic
2026-02-17 13:58:09 -06:00
ravi-signal
81031b7b2f
Ensure details are included on all gRPC error statuses
2026-02-17 13:54:16 -06:00
Ravi Khadiwala
d6a0129c5a
Treat missing backup after authentication as an authentication failure
2026-02-17 14:52:27 -05:00
Ravi Khadiwala
225e756e38
cdn number can be unsigned
2026-02-17 14:52:27 -05:00
Ameya Lokare
f5a3b93849
Improve captcha response error handling
2026-02-12 11:57:27 -08:00
Ravi Khadiwala
8fa1f85924
Update to the latest version of the spam filter
2026-02-11 16:44:13 -06:00
Ravi Khadiwala
809ba29ce8
Update error model in messages.proto
2026-02-11 16:35:38 -06:00
Ravi Khadiwala
1009f3ba51
Update error model in keys.proto
2026-02-11 16:33:04 -06:00
Ravi Khadiwala
8804f28cb8
Update error model in device.proto
2026-02-11 17:21:42 -05:00
Chris Eager
a9f81e2ba6
Update to the latest version of the spam filter
2026-02-09 12:35:55 -06:00
ravi-signal
7e9da6d7ce
Add a request tag for listen port
2026-02-05 16:18:09 -06:00
Ravi Khadiwala
ea80077c25
Fix incorrect comment in account.proto
2026-02-05 17:17:24 -05:00
Chris Eager
0ab471f7dd
Update to the latest version of the spam filter
2026-02-05 16:07:03 -06:00
Chris Eager
fa9fb1f0a2
Move inline versions to properties in service/pom.xml
2026-02-05 15:53:25 -06:00
Chris Eager
800902414f
Update libphonenumber geocoder to 3.23
2026-02-05 15:53:25 -06:00
Chris Eager
c13a34b2c8
Improve SchedulingUtil.getZoneId for PhoneNumberType.UNKONWN numbers
2026-02-05 15:51:41 -06:00
Chris Eager
5ec8628b51
Update to the latest version of the spam filter
2026-02-04 15:59:34 -06:00
Jon Chambers
ad21f002ab
Add a counter to verify that it's safe to remove legacy combined UAK credentials
2026-02-04 15:50:59 -06:00
Jon Chambers
1e5fcbdd20
Add a utility method for getting UA tags from request contexts
2026-02-04 15:50:59 -06:00
Ravi Khadiwala
d34fc29ba2
Add null checks in IncomingMessageList
2026-02-04 15:50:45 -06:00
Chris Eager
e0bf1df16f
Update to the latest version of the spam filter
2026-02-04 14:19:23 -06:00
Chris Eager
9a1c450458
Make VerificationSession.sessionId not-null
2026-02-04 12:07:44 -06:00
Chris Eager
e5209d84bf
Update to the latest version of the spam filter
2026-02-04 10:21:45 -06:00
Chris Eager
969788b267
Include sessionId in VerificationSession record
2026-02-04 10:06:25 -06:00
Chris Eager
d0bbaaea52
Update to the latest version of the spam filter
2026-01-30 13:13:26 -06:00
Chris Eager
b01ef94c69
Update to the latest version of the spam filter
2026-01-30 11:52:34 -06:00
Jonathan Klabunde Tomer
040f3190cb
directly subscribe to item publisher in account crawlers
2026-01-30 10:16:26 -06:00
Chris Eager
77bf44fda5
Remove deprecated /v2/accounts/phone_number_identity_key_distribution
2026-01-30 10:13:41 -06:00
Ravi Khadiwala
185654fc10
Use userAgent instead of signalAgent as metrics platform tag
2026-01-30 10:13:21 -06:00
Ravi Khadiwala
159e1f13f0
Fix credential age calculation
2026-01-30 10:13:21 -06:00
Jon Chambers
61ab765391
Require that LinkDeviceRequest has non-null account attributes
2026-01-30 10:13:11 -06:00
Jon Chambers
63c39645d2
Add a (failing!) test for attempting to link a device with null account attributes
2026-01-30 10:13:11 -06:00
Chris Eager
cf518ce910
Update to the latest version of the spam filter
2026-01-30 09:44:20 -06:00
Ravi Khadiwala
e14dbfc9ad
Fix merge conflict in HlrLookupResult
2026-01-29 11:24:18 -06:00
Ravi Khadiwala
734d369fb1
Update to the latest version of the spam filter
2026-01-29 11:17:08 -06:00
ravi-signal
ee81faa82d
Add an allow-list for gRPC methods
2026-01-29 11:15:04 -06:00
Jon Chambers
c0d0d5f5da
Extract "is ported" data from HLR Lookup responses
2026-01-29 12:14:26 -05:00
Jon Chambers
ff8194ae5f
Add "is ported" to CarrierData
2026-01-29 12:14:26 -05:00
Jon Chambers
c69abb5200
Instrument credits spent
2026-01-29 12:14:00 -05:00
Ravi Khadiwala
fb1c20582e
Instrument /v2/svr/auth/check credential age
2026-01-28 17:44:11 -05:00
Ravi Khadiwala
0357b25f92
Update to the latest version of the spam filter
2026-01-28 16:42:23 -06:00
Ravi Khadiwala
d197e22e0a
Fix argument to updateWithRetries updater
2026-01-28 17:39:32 -05:00
ravi-signal
e6116044f8
Instrument registration recovery password modifications
2026-01-28 16:37:50 -06:00
ravi-signal
2a7e99e9f0
Update credentials and calling gRPC services to new error model
2026-01-28 16:36:12 -06:00
Ravi Khadiwala
8023a9346f
Convert call quality gRPC service to new error model
2026-01-28 17:35:11 -05:00
Ravi Khadiwala
517c5b8056
Call CallQualitySurveryManager#validateRequest
2026-01-28 17:35:11 -05:00
dependabot[bot]
a6a089e93f
Bump actions/setup-java in the minor-actions-dependencies group
...
Bumps the minor-actions-dependencies group with 1 update: [actions/setup-java](https://github.com/actions/setup-java ).
Updates `actions/setup-java` from 5.0.0 to 5.2.0
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](dded088883...be666c2fcd )
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 13:48:55 -05:00
dependabot[bot]
6c2999dd55
Bump actions/checkout from 5.0.0 to 6.0.2
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5.0.0 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](08c6903cd8...de0fac2e45 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.2
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 13:05:12 -05:00
dependabot[bot]
14862c58c8
Bump aws-actions/configure-aws-credentials from 4.2.1 to 5.1.1
...
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials ) from 4.2.1 to 5.1.1.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases )
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md )
- [Commits](b475783126...61815dcd50 )
---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
dependency-version: 5.1.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 13:05:02 -05:00
Ravi Khadiwala
645161cc09
add dependabot.yml
2026-01-26 11:36:30 -05:00
Jon Chambers
065e730200
Update to the latest version of the spam filter
2026-01-23 16:37:38 -05:00
Ravi Khadiwala
7e7bef32cc
Convert service protos to line comments
2026-01-23 16:37:01 -05:00
ravi-signal
5b1d4ce95e
Convert backup services to use new error model
2026-01-23 14:25:15 -06:00
Ravi Khadiwala
12d9637f21
Update to the latest version of the spam filter
2026-01-23 14:24:17 -06:00
ravi-signal
924ab88e93
Update dependencies
2026-01-23 13:32:20 -06:00
Jon Chambers
187cd9e163
Update to the latest version of the spam filter
2026-01-23 12:30:21 -05:00
Jon Chambers
2ed60209b1
Store carrier information in verification sessions
2026-01-23 12:09:19 -05:00
Jon Chambers
9ffb588c6a
Pass carrier data from lookup services to registration service
2026-01-23 12:09:19 -05:00
Jon Chambers
5043175cb4
Standardize on javax.annotation.Nullable
2026-01-23 12:09:19 -05:00
Jon Chambers
953a473c74
Resolve minor warnings/suggestions throughout VerificationController
2026-01-23 12:09:19 -05:00
Jon Chambers
3b87527f39
Add a system to look up mobile network data
2026-01-23 11:51:14 -05:00
ravi-signal
023296feaf
Make Backup methods synchronous
2026-01-21 14:01:58 -06:00
Jon Chambers
b4db86a39b
Update to the latest version of the spam filter
2026-01-21 13:52:34 -05:00
Jon Chambers
e0b89d6228
Update AWS SDK to 2.41.11
2026-01-21 10:22:07 -06:00
Chris Eager
bcd8ed8d35
Update to the latest version of the spam filter
2026-01-21 10:21:32 -06:00
Ameya Lokare
cb9b90b81d
Update to the latest version of the spam filter
2026-01-14 11:56:36 -08:00
Ameya Lokare
265bcfe51b
Update to the latest version of the spam filter
2026-01-14 11:12:04 -08:00
Jon Chambers
4b1a0259fc
Resolve a warning about potentially-null results from a Flux#toList call
2026-01-14 09:36:53 -06:00
Jon Chambers
14e7652339
Remove an unused logger
2026-01-14 09:36:53 -06:00
Jon Chambers
8d53b2d8a6
Make key-fetching asynchronous
2026-01-14 09:36:53 -06:00
Chris Eager
8ee097d25a
Remove temporary unidentifiedDelivery.rotated.privateKey
2026-01-14 09:36:26 -06:00
Jordan Rose
94c9d48da1
Add option to omit full signer certificate from sealed sender certificates
2026-01-13 13:43:28 -06:00
Ravi Khadiwala
a1b1d051f5
Use enriched gRPC status errors
2026-01-13 11:24:35 -05:00
Jon Chambers
77eaec0150
Update to the latest version of the spam filter
2026-01-13 11:16:01 -05:00
Jon Chambers
7d39f72ed6
Update to Testcontainers 2.0.3
2026-01-13 11:02:04 -05:00
Jon Chambers
8c3a38979a
Update inadvertent/legacy JUnit 4 imports to JUnit 5
2026-01-13 11:02:04 -05:00
Jon Chambers
af02cb93c0
Update to the latest version of the spam filter
2026-01-13 10:41:54 -05:00
Jon Chambers
c25c8807a6
Notify registered message delivery listeners when messages are delivered
2026-01-13 10:24:11 -05:00
Jon Chambers
dad2bd5c29
Introduce MessageDeliveryListener
2026-01-13 10:24:11 -05:00
Chris Eager
7e511d1f66
Add temporary unidentifiedDelivery.rotated.privateKey
2026-01-12 16:26:37 -06:00
Chris Eager
49daf3909c
Set paymentProcessing = true for draft invoices
2026-01-09 16:30:07 -06:00
Chris Eager
a1f7710ccb
Remove explicit percentile configuration from DistributionStatisticConfig
2026-01-06 15:48:15 -05:00
ravi-signal
807b08b31b
Make googlePlayBilling.credentialsJson not a secret
2026-01-06 14:47:45 -06:00
Ravi Khadiwala
9a43f76663
Add source tag to appstore API errors
2026-01-06 15:47:05 -05:00
Chris Eager
7f5097bd33
Update logback to 1.5.23
2026-01-05 17:01:11 -06:00
Chris Eager
54443f7015
Set the logging context on the PatternLayout
2026-01-05 17:01:11 -06:00
Chris Eager
e1c44dd374
Remove Datadog fields from logstash output
2026-01-05 17:01:11 -06:00
ravi-signal
eaabbd5188
Add nested message validation
2026-01-05 16:23:11 -06:00
ravi-signal
9c4047a90b
Remove row-based one-time PQ key store
2025-12-10 16:22:03 -06:00
Katherine Yen
33f506a431
Add registration ID to GetPreKeysResponse
2025-12-10 16:21:34 -06:00
Jon Chambers
7fd0cb32f6
Revert "Include client version in the large message counter tags"
...
This reverts commit 3ac7a41f9b .
2025-12-10 17:21:26 -05:00
ravi-signal
fecb032d8f
Ignore failures to update cache after a read
2025-12-10 16:21:18 -06:00
Jon Chambers
1913dbf6f9
Update to the latest version of the spam filter
2025-12-10 11:18:36 -05:00
Jon Chambers
de09de895b
Update to the latest version of the spam filter
2025-12-10 11:03:04 -05:00
sunday
09942b17a0
feat: add static factory for custom S3 endpoint in S3ObjectMonitor for local testing
2025-12-10 10:52:19 -05:00
Jon Chambers
1d74ecf092
Update to the latest version of the spam filter
2025-12-10 09:56:34 -05:00
Jon Chambers
3ac7a41f9b
Include client version in the large message counter tags
2025-12-10 09:46:15 -05:00
Jon Chambers
e1c901c5cf
Increment a counter when we receive large-but-not-disallowed messages
2025-12-10 09:46:15 -05:00
Jon Chambers
9c35ad0722
Introduce RegistrationFraudChecker#checkSendVerificationCodeAttempt
2025-12-10 09:42:29 -05:00
Jon Chambers
5f25b6a412
Use long instead of int for rate limiter permits
2025-12-10 09:41:51 -05:00
Jon Chambers
77d04ccb70
Rename "dynamic rate limiter" to "leaky bucket rate limiter"
2025-12-10 09:29:44 -05:00
Jonathan Klabunde Tomer
504310cc14
handle Logstash markers in otel logs
2025-12-10 09:29:23 -05:00
Jon Chambers
62798229bf
Fix a very (survery?) small typo
2025-12-10 09:29:04 -05:00
Jordan Rose
730e0205f8
Update to libsignal v0.86.6
2025-12-05 11:01:38 -05:00
Katherine
31d6ac71a4
Retire creation timestamp from device endpoints
2025-12-05 10:55:20 -05:00
Chris Eager
b887d1f7c0
Fix potentially null errorCode in switch
2025-12-05 10:54:58 -05:00
Jon Chambers
92f8623ad8
Update to the latest version of the spam filter
2025-12-04 09:38:39 -05:00
Jon Chambers
7445225906
Update to the latest version of the spam filter
2025-12-03 16:50:27 -05:00
Jon Chambers
0d2bee7599
Update to the latest version of the spam filter
2025-12-03 15:07:06 -05:00
Jon Chambers
78aa81dd56
Pass client-provided route optimization data to registration service
2025-12-03 14:55:43 -05:00
Jon Chambers
08f6ec639c
Update to the latest version of the spam filter
2025-12-02 15:59:54 -05:00
Jonathan Klabunde Tomer
6c3cfc88b5
retire /v1/config
...
It's been supplanted by /v2/config for all clients beyond the 90-day window.
We still have [some traffic](https://signal.grafana.net/goto/bf5tjk346v1moa?orgId=1 )
but it's all from expired/third-party clients (note the lack of a recognized
version number in the client-version tag).
2025-12-02 12:52:39 -08:00
Jon Chambers
389d44fd80
Remove legacy delete-via-REST plumbing
2025-12-02 15:45:18 -05:00
Jon Chambers
7604306818
Retire REST-based message deletion
2025-12-02 15:45:18 -05:00
Jon Chambers
92e133b21f
Shut down command dependencies in LIFO order
2025-12-02 15:45:01 -05:00
Jon Chambers
4af50986e0
Minor corrections to docs for POST /v1/registration
2025-12-02 15:44:43 -05:00
Jon Chambers
c72458b47a
Perform basic input validation on call quality survey responses
2025-12-01 09:56:09 -05:00
Jon Chambers
aa2f9e5a65
Accept start/end timestamps as milliseconds since the epoch
2025-11-26 09:00:54 -05:00
Jonathan Klabunde Tomer
f13837d2f2
improve OpenTelemetry logging
2025-11-25 12:23:00 -08:00
Jonathan Klabunde Tomer
3ff2af47cb
Revert "support JSON logging and prefer it in sample config"
...
This reverts commit 4d5cc4dc22 .
2025-11-25 12:23:00 -08:00
Jon Chambers
c719da3527
Update to the latest version of the spam filter
2025-11-25 12:22:38 -05:00
Jon Chambers
0ea52b785e
Update to the latest version of the spam filter
2025-11-25 11:27:05 -05:00
Jon Chambers
1ce1c298d3
Add hooks so spam filters can register Dropwizard commands
2025-11-25 11:07:57 -05:00
Jonathan Klabunde Tomer
4d5cc4dc22
support JSON logging and prefer it in sample config
...
We won't actually remove OTLP logging support until testing side-by-side and
seeing that things look good.
2025-11-24 16:05:28 -08:00
Jon Chambers
640274108e
Make CommandDependencies public
2025-11-24 10:47:00 -05:00
Jon Chambers
dd17ddc98c
Add audio/video variants to several call quality survey metrics
2025-11-24 08:48:52 -05:00
Jonathan Klabunde Tomer
4c4a954c1c
update shutdown gauge when delayed shutdown starts
...
Otherwise we will report that we are not shutting down while k8s correctly
notes that we are unhealthy and it will look like something is wrong.
2025-11-19 16:43:48 -08:00
Katherine
65ce9af366
Retire ssre2 and deleteSync capabilities
2025-11-18 12:42:13 -05:00
Chris Eager
4af0de2ab2
Minor cleanup
2025-11-18 11:39:54 -06:00
Chris Eager
ccf72a45db
Migrate Stripe usage to V1Services
2025-11-18 11:39:54 -06:00
Chris Eager
f3744fbcb1
Address deprecated methods
2025-11-18 11:39:54 -06:00
Chris Eager
ec08731e6d
Use appropriate expansion for latest invoice -> charge
2025-11-18 11:39:54 -06:00
Chris Eager
852591df40
Update stripe-java to 30.2.0
2025-11-18 11:39:54 -06:00
Chris Eager
9ff9b3a7b3
Fix erroneous parameter doc in MessageController#sendMessage
2025-11-10 12:27:14 -06:00
Chris Eager
dd4e058cd7
Update response schema annotation for MessageController#sendMessage
2025-11-10 12:08:59 -06:00
Ravi Khadiwala
85226bdd87
Retrieve subscription price from purchase instead of plan
2025-11-07 11:30:05 -06:00
Ravi Khadiwala
faa74469ea
Revert "Update to Dropwizard 5"
...
This reverts commit 4dbd564442 .
2025-11-06 17:20:41 -06:00
Jonathan Klabunde Tomer
bb94975d74
remove datadog/statsd support
2025-11-06 09:24:55 -08:00
Jon Chambers
298b0d8d28
Add new variants of call quality survey values and clarify optionality
2025-11-06 12:23:52 -05:00
Jonathan Klabunde Tomer
9da643dd69
update to the latest revision of the spam filter
2025-11-05 12:07:36 -08:00
Jonathan Klabunde Tomer
6dc4bfe5fa
Update legacy metric names
...
We're taking a massive history cliff when we move off Datadog anyway; let's
take the opportunity to remove all the old-school
`org.whispersystems.some.long.path.SomeClass.metric` names in favor of the newer
`chat.SomeClass.metric` style, and update any metrics that were moved from one
class to another and kept the old name for continuity's sake.
2025-11-05 12:07:36 -08:00
Jon Chambers
23a3e32eb8
Tag client request metrics with specific client versions
2025-11-04 16:29:23 -05:00
Ravi Khadiwala
bf6939ec00
Add platform tag to backup auth metric
2025-11-04 16:29:02 -05:00
Katherine Yen
3b310463c3
Update to the latest version of the spam filter
2025-11-04 16:27:16 -05:00
Katherine
f7eb6fab33
Prefix AssertTrue validation methods with "is"
2025-11-04 16:25:12 -05:00
Andrew
ce945ff245
Add flag to negotiate server_no_context_takeover
2025-11-04 12:21:36 -06:00
ravi-signal
4dbd564442
Update to Dropwizard 5
...
Co-authored-by: Chris Eager <chris@signal.org>
2025-11-04 12:18:56 -06:00
Ravi Khadiwala
24f8f48a26
Check sandbox when storekit transactionId is not found
2025-10-30 09:34:17 -05:00
Jon Chambers
a2ce37fd53
Limit concurrency when unlinking devices
2025-10-30 10:32:01 -04:00
Jon Chambers
c4d55e099e
Remove enrollment fraction plumbing from UnlinkDevicesWithIdlePrimaryCommand
2025-10-30 10:32:01 -04:00
Katherine
0f950917d8
Fix key transparency monitor request position validation
2025-10-29 16:34:33 -04:00
Katherine
3116913378
Support searching for identifiers in the key transparency log by version
2025-10-29 16:22:55 -04:00
Jonathan Klabunde Tomer
d7a9e3c9f3
Don't send TLS session resumption tickets
2025-10-29 16:22:38 -04:00
Jon Chambers
14010a4f83
Move to the Bitnami Legacy Redis Cluster image
2025-10-29 16:21:13 -04:00
Jon Chambers
ad0bcd5436
Add a command for unlinking devices linked to an account whose primary device is idle
2025-10-24 15:23:57 -04:00
Jon Chambers
88d458cf79
Convert RegistrationLock to a record
2025-10-24 15:23:12 -04:00
Katherine Yen
342c8a1b28
Check for an authorization header in PUT /v1/devices/link
2025-10-24 15:23:01 -04:00
Jon Chambers
ad2500d4fd
Fix an incorrect documentation tag for the call quality survey controller
2025-10-24 15:22:46 -04:00
Jon Chambers
c2ebabad58
Work around an AWS SDK stack overflow issue
2025-10-21 17:01:20 -04:00
Jon Chambers
1105753aab
Update to the latest version of the spam filter
2025-10-16 14:36:31 -04:00
Jon Chambers
9378b9a6e6
Add controllers/service implementations for receiving call quality survey responses
2025-10-16 14:22:12 -04:00
Jon Chambers
c68e3103c4
Introduce CallQualitySurveyManager
2025-10-16 14:22:12 -04:00
Jon Chambers
c9760f4c38
Introduce a system for mapping IP addresses to ASNs
2025-10-16 14:22:12 -04:00
Chris Eager
73765fc4ec
Update variable names in recently refactored method
2025-10-16 12:12:46 -05:00
Jon Chambers
9e1b716548
Fix a need-to-wait-for-async-operation issue in testCacheRemoveQueueScript
2025-10-10 17:03:58 -04:00
ravi-signal
a2f2fc93b0
Add direct grpc server
2025-10-06 15:22:36 -05:00
ravi-signal
9751569dc7
Marshal HttpResponseException in GooglePlayBillingManager
2025-10-06 12:18:51 -05:00
ravi-signal
d6c15ef1d5
Allow rotating a single backup-id at a time
2025-10-06 12:18:31 -05:00
Chris Eager
e0eaa76ebf
Minor improvements
2025-10-06 12:15:11 -05:00
Chris Eager
0d4d9c0af5
Set request timeouts on Fixer and CoinGecko
2025-10-06 12:15:11 -05:00
Chris Eager
4ffd768aac
Use shared cache for Fixer data
2025-10-06 12:15:11 -05:00
Chris Eager
b8a720c5b4
Factor Coin Gecko caching to methods
2025-10-06 12:15:11 -05:00
Chris Eager
ab1ec86cd2
Decompose CurrencyConversion update methods
2025-10-06 12:15:11 -05:00
Chris Eager
e9d6b91416
Add Managed#stop to CurrencyConversionManager
2025-10-06 12:15:11 -05:00
Ameya Lokare
63f892add1
Update to the latest version of the spam filter
2025-10-01 15:19:03 -07:00
Chris Eager
6e42b2898c
Make BraintreeConfiguration.publicKey a SecretString
2025-10-01 13:06:56 -05:00
ravi-signal
9384813752
Forgive some clock skew when requesting ZK credentials
2025-10-01 13:03:27 -05:00
Chris Eager
70ac4ad139
Update response documentation for PUT /v1/challenge
2025-10-01 12:59:48 -05:00
Chris Eager
4ab58e950b
Add authenticated tag to MetricsRequestEventListener
2025-09-29 15:37:24 -07:00
Jonathan Klabunde Tomer
7f301cbf95
filter datadog metrics with dynamic allow list
2025-09-29 15:37:11 -07:00
Ameya Lokare
5a7660d3ae
Update to the latest version of the spam filter
2025-09-29 11:13:50 -07:00
Chris Eager
850172f6a3
Register system resource metrics in MetricsUtil#configureRegistries
2025-09-29 11:11:17 -07:00
Ravi Khadiwala
4e73162055
Fix default maxQuotaStaleness
2025-09-29 13:07:21 -05:00
Jonathan Klabunde Tomer
4127cf90ab
also set the OTLP logging resource from config
2025-09-22 14:10:11 -07:00
Jonathan Klabunde Tomer
08cc7bc462
use standard OTLP endpoint environment variable for logging
2025-09-22 12:50:55 -07:00
ravi-signal
2cf2391f38
Avoid NPE validating invalid RegistrationRequest
2025-09-22 11:23:59 -07:00
Jonathan Klabunde Tomer
007dde8d45
add OTLP logging appender factory
2025-09-22 11:09:40 -07:00
Katherine Yen
f80e30f9f2
Update to the latest version of the spam filter
2025-09-18 14:57:52 -04:00
Katherine
ff5201a58e
Q4 2025 dependency updates
2025-09-18 14:56:27 -04:00
Chris Eager
8954708d77
Update OptionalAccess check with PNI service IDs
...
This was mis-aligned with other parts of the service and client implementations
2025-09-18 13:54:11 -05:00
Katherine Yen
3cf194e476
Catch IllegalStateException when closing RecordingStream
2025-09-18 13:53:31 -05:00
Jordan Rose
bad2602491
test.yml: Use libsignal's test sealed sender certificate
2025-09-18 13:52:37 -05:00
Ravi Khadiwala
a647c1bfdf
Update backup media metrics on all TTL refreshes
2025-09-18 13:52:13 -05:00
Ravi Khadiwala
1bba30a81e
Make per-message deflate extension for websockets configurable
2025-09-18 13:51:36 -05:00
Chris Eager
827d8388d0
Fix comment typos in test.yml
2025-09-17 10:58:34 -05:00
Jordan Rose
70efb19a86
test.yml: Move sealed sender certificate from secrets bundle
2025-09-17 10:45:50 -05:00
Ravi Khadiwala
35ffb208e3
Make max total backup media configurable
2025-09-15 13:03:42 -05:00
Chris Eager
e50dcd185d
Update stripe-java to 28.4.0
2025-09-15 13:01:17 -05:00
Ravi Khadiwala
1cd446ee31
Add paid tag to BackupMetricsCommand counter
2025-09-12 16:41:46 -05:00
Chris Eager
1847c6d4ca
Update to the latest version of the spam filter
2025-09-12 16:39:51 -05:00
ravi-signal
1770558d5e
Add an endpoint to check if your backup-id can be rotated
...
Co-authored-by: Katherine <katherine@signal.org>
2025-09-12 16:39:01 -05:00
Chris Eager
e0d39212ec
Update to the latest version of the spam filter
2025-09-11 16:24:59 -05:00
Ravi Khadiwala
31ebe9071a
Don't count backup metrics on TTL refresh
2025-09-11 16:20:51 -05:00
Chris Eager
8f65486fab
Update BaseRateLimiters#defaultScript
2025-09-11 13:40:35 -05:00
Ravi Khadiwala
7e3540bda0
Workaround for sdk issue iterating large DynamoDB pages
2025-09-10 11:05:29 -05:00
ravi-signal
c544628dfe
Add a command to clear IAP issued receipt count
...
Co-authored-by: Katherine <katherine@signal.org>
2025-09-10 11:00:02 -05:00
Ravi Khadiwala
61b162d0a1
clean up warnings in BackupManagerTest
2025-09-10 10:59:47 -05:00
Ravi Khadiwala
8c2d738924
Make backup batch operation concurrency configurable
2025-09-10 10:59:47 -05:00
Ravi Khadiwala
efde8a31f9
Missing Money.nanos should be treated as 0
2025-09-08 15:21:43 -05:00
Katherine
b2dd315177
Set TCP timeout on Redis clients
2025-09-08 12:37:03 -04:00
Jordan Rose
dc3920a99c
Avoid setting the isStory field in an Envelope when possible
2025-09-05 15:33:38 -05:00
Ameya Lokare
b8e8fd3313
Implement MRM insert in FoundationDB message store
2025-09-04 11:59:28 -07:00
ravi-signal
a5423b6e21
Simplify SubscriptionExceptions
2025-09-04 13:50:51 -05:00
Jordan Rose
89b37015c6
Reserve a second sealed sender ServerCertificate ID
2025-09-04 13:49:15 -05:00
Ravi Khadiwala
2af3088571
Preserve backup vouchers accross re-registration
2025-09-04 13:48:45 -05:00
ravi-signal
774cc52b61
Make SubscriptionController synchronous
2025-09-02 15:11:05 -05:00
Ameya Lokare
f52a262741
Update to the latest version of the spam filter
2025-08-28 13:43:53 -07:00
Jon Chambers
cd957e0347
Standardize circuit breaker/retry names
2025-08-28 13:38:25 -04:00
Jon Chambers
8060d74899
Automatically register metrics/instrument breaker/retry instances on creation
2025-08-28 13:38:25 -04:00
Jon Chambers
0e1e248564
Remove resilience4j-micrometer
2025-08-28 13:38:25 -04:00
Jon Chambers
d33761f107
Revert "reduce cost of resilience4j metrics"
...
This reverts commit 8e429e267f .
2025-08-28 13:38:25 -04:00
Jon Chambers
89c7521be0
Don't request more messages if we already have an active message source
2025-08-28 13:26:33 -04:00
Jonathan Klabunde Tomer
8e429e267f
reduce cost of resilience4j metrics
2025-08-27 18:02:48 -07:00
Jon Chambers
8fe87b77e4
Wait for message acknowledgement before fetching new messags from Redis/DynamoDB
2025-08-27 15:20:05 -04:00
Jon Chambers
194e43926a
Reapply "Move error/entry handling to subscribe handlers"
...
This reverts commit 4d521cea42 .
2025-08-27 15:20:05 -04:00
Jon Chambers
4c0281f540
Reapply "Add a (failing!) test for dropped errors during WebSocketConnectionTest"
...
This reverts commit 0f2a4d02e0 .
2025-08-27 15:20:05 -04:00
Jon Chambers
75391785f8
Reapply "Use MessageStream in WebSocketConnection"
...
This reverts commit a94ce72894 .
2025-08-27 15:20:05 -04:00
Jon Chambers
ebdc5a30f8
Restore "may have messages" methods
2025-08-27 15:20:05 -04:00
Jon Chambers
f57093a94a
Prefix breaker/retry names where appropriate
2025-08-27 14:45:29 -04:00
Jon Chambers
53f9c7b31f
Remove unnecessary "-breaker" and "-retry" suffixes from names
2025-08-27 14:45:29 -04:00
Jon Chambers
bc20aee7c9
Rename CircuitBreakerUtil to ResilienceUtil
2025-08-27 14:45:29 -04:00
Jon Chambers
807e03ca2b
Remove legacy circuit breaker/retry metrics
2025-08-27 14:45:29 -04:00
Jon Chambers
a747afb487
Publish metrics from circuit breaker/retry registries
2025-08-27 14:45:29 -04:00
Jon Chambers
eb42d22155
Update to the latest version of the spam filter
2025-08-27 12:05:30 -04:00
Jon Chambers
8825396fc1
Restore Redis retries for select operations
2025-08-27 11:52:16 -04:00
Jon Chambers
f616612104
Use central registries for Retry and CircuitBreaker instances
2025-08-27 11:33:42 -04:00
Jon Chambers
a8c6fa93e0
Remove default/integral retries from Redis clients
2025-08-27 11:20:11 -04:00
Jon Chambers
32cf12e9af
Remove an unused method from RetryConfiguration
2025-08-27 11:20:11 -04:00
Jon Chambers
1cc933b6bc
Pause if we hit an exception while processing scheduled notifications
2025-08-27 11:05:17 -04:00
Ravi Khadiwala
dbbd913445
Allow downgrade on SQPR capability
2025-08-22 11:50:55 -05:00
Jon Chambers
50e7301dd8
Remove cluster-specific configuration from Redis singleton clients
2025-08-22 12:46:32 -04:00
Jonathan Klabunde Tomer
552edbc1eb
update to the latest revision of the spam filter
2025-08-21 15:25:40 -07:00
Jon Chambers
7f5ea6608c
Add plumbing to roll out binary service IDs/UUIDs on envelopes to internal users
2025-08-21 14:53:41 -07:00
Jonathan Klabunde Tomer
78a7112675
Use native exponential histograms
2025-08-21 14:53:21 -07:00
Ravi Khadiwala
be8b44d645
Add noise tunnel connection metrics
2025-08-21 10:32:11 -05:00
Ravi Khadiwala
7ca3604601
Augment gRPC metrics with UA
2025-08-21 10:32:11 -05:00
Ravi Khadiwala
c5af8f3a9e
Adjust default backup level configuration
2025-08-19 12:43:51 -05:00
Ravi Khadiwala
d67847e5b1
Make s3 endpoints configurable
2025-08-19 12:29:42 -05:00
Jon Chambers
3a5704a5cc
Fix a flaky MessageCacheInsertScript test by calling .join() on async operations
2025-08-19 13:14:20 -04:00
Katherine Yen
50a54136e8
Update to the latest version of the spam filter
2025-08-18 14:59:07 -04:00
ameya-signal
a1d9c4c062
Check presence before updating last message versionstamp
2025-08-18 10:16:00 -07:00
Katherine
4acb3b5ac7
Use the target device's registration ID in the GET /v1/keys/identifier/deviceId ratelimit
2025-08-18 10:15:45 -07:00
ravi-signal
b76eaa1098
Add a bounded virtual executor service
2025-08-15 15:49:50 -05:00
Ravi Khadiwala
c883cd8148
Encourage PQ prekey upload to new store
2025-08-15 15:48:57 -05:00
Ravi Khadiwala
1e77d0471e
Remove paged prekey experiment configuration
2025-08-15 15:48:57 -05:00
Jon Chambers
a94ce72894
Revert "Use MessageStream in WebSocketConnection"
...
This reverts commit 470e17963a .
2025-08-13 16:13:50 -04:00
Jon Chambers
0f2a4d02e0
Revert "Add a (failing!) test for dropped errors during WebSocketConnectionTest"
...
This reverts commit fc8d180f7c .
2025-08-13 16:13:50 -04:00
Jon Chambers
4d521cea42
Revert "Move error/entry handling to subscribe handlers"
...
This reverts commit 7d10209198 .
2025-08-13 16:13:50 -04:00
Jon Chambers
7d10209198
Move error/entry handling to subscribe handlers
2025-08-13 14:38:53 -04:00
Jon Chambers
fc8d180f7c
Add a (failing!) test for dropped errors during WebSocketConnectionTest
2025-08-13 14:38:53 -04:00
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
Chris Eager
ad84cd848a
Fix potential NullPointerException in StripeManager#createPaymentIntent
2025-08-11 18:26:21 -04:00
Katherine
127bd56f73
Don't require ALWAYS_CAPABLE capabilities when linking a device
2025-08-11 18:25:55 -04:00
Jon Chambers
ad3721acf1
Count "send sync message" attempts with incorrect registration IDs
2025-08-11 18:24:38 -04:00
Jon Chambers
085127326b
Improve thread synchronization in RedisDynamoDbMessagePublisherTest
2025-08-11 18:24:10 -04:00
Jon Chambers
2e32ab3282
Extend the Redis command timeout in FaultTolerantRedisClusterClientTest
2025-08-11 18:23:51 -04:00
ameya-signal
8bb125597b
Add initial version of FoundationDB message store
2025-08-11 18:23:27 -04:00
Jonathan Klabunde Tomer
8ca7f85bf0
fix NPE in MetricsUtil#configureHistogramFilters
2025-08-11 14:11:17 -07:00
Jonathan Klabunde Tomer
9d4d36939c
Update to the latest revision of the spam filter
2025-08-11 12:30:40 -07:00
Jonathan Klabunde Tomer
dabe1c157b
remove unnecessary MessageMetrics default constructor
2025-08-11 12:28:28 -07: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
Katherine
93c03c5676
Hardcode ssre2 and deleteSync capabilities to true from GET /v1/profile/{identifier}
2025-08-08 09:28:13 -04:00
Katherine Yen
bd1bd007c0
Count successful timezone parsing to get a ratio of success to failures
2025-08-08 09:27:46 -04:00
Katherine Yen
f485406c4d
Stop using device creation timestamp as a fallback in getting a recommended notification time
2025-08-08 09:27:46 -04:00
Jon Chambers
d96c360016
Introduce MessageStream and RedisDynamoDbMessagePublisher
2025-08-08 09:27:05 -04:00
Jon Chambers
6d71f43b6c
Update to the latest version of the spam filter
2025-08-08 09:26:21 -04:00
Katherine
d6824fcaf6
Remove EncryptDeviceCreationTimestampCommand
2025-08-04 12:51:07 -04:00
Katherine
61f388f5f4
Rename registrationId field on TransferArchiveUploadedRequest
2025-08-04 12:50:56 -04:00
Jon Chambers
6955e1ee20
Retire RedisClusterHealthCheck
2025-08-04 09:59:28 -04:00
Jon Chambers
7bb4a4bc90
Remove an unused hasMessages method
2025-08-04 09:59:17 -04:00
Jon Chambers
6fa01a5d48
Remove unused Lua scripts
2025-08-04 09:59:17 -04:00
Jon Chambers
5a65a46fc1
Remove an unused constant
2025-08-04 09:59:17 -04:00
Jon Chambers
c255355e5c
Make internal Redis connection management methods private
2025-08-04 09:59:17 -04:00
Jon Chambers
8d3781db90
Remove the "send message" timeout
2025-08-04 09:58:56 -04:00
ravi-signal
f6a87b2ec0
Always elide devices missing required PreKeys
2025-08-01 12:01:35 -05:00
ravi-signal
e8a1854c5e
Move /v1/svrb/auth to /v1/archives/auth/svrb
2025-08-01 12:00:44 -05:00
Katherine
f8d27d8fab
"encrypt timestamps" crawler optimizations
2025-08-01 12:31:09 -04:00
Jon Chambers
94dd2712b1
Extent timeout in WebSocketConnectionTest
2025-07-31 17:09:02 -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
b7e64e09a3
Add an already-passing, disabled-by-default test for client WebSocket timeouts
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
ef644ce319
Drop WhisperServerServiceTest#testOtlpConfig
2025-07-31 16:27:29 -04:00
Jon Chambers
08c4179a7a
Disable OpenTelemetry in tests
2025-07-31 16:27:29 -04:00
Jon Chambers
5c3be9c3d6
Use error-specific retry mechanisms in WebSocketConnection and associated classes
2025-07-31 10:53:11 -04:00
Jonathan Klabunde Tomer
8fc0b49994
tweak OpenTelemetry configuration
2025-07-30 14:42:20 -07:00
Katherine
db4c71368c
Use registration ID or creation timestamp in the transfer archive flow
2025-07-30 15:32:49 -04:00
Jon Chambers
30774bbc40
Remove special-case handling for an extremely narrow message delivery edge case
2025-07-29 16:52:19 -04:00
Ravi Khadiwala
3b48c82c72
Update to the latest version of the spam filter
2025-07-29 15:51:22 -05: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
541c87e262
Always specify a list of device IDs when disconnecting all devices for an account
2025-07-29 11:17:48 -04:00
Katherine
5f5c345f94
Use one thread per account in the "encrypt timestamps" crawler
2025-07-29 09:51:36 -04:00
Jonathan Klabunde Tomer
8aa408a3c1
enable OTLP export
2025-07-28 14:42:37 -07:00
Jonathan Klabunde Tomer
4f0337021c
Use Micrometer rather than Dropwizard for a few metrics
2025-07-28 14:32:42 -07:00
Jonathan Klabunde Tomer
00062fdd5c
Revert "Use Micrometer rather than Dropwizard for a few metrics"
...
This reverts commit 2bc91c1f21 .
2025-07-25 10:44:42 -07:00
Jonathan Klabunde Tomer
2bc91c1f21
Use Micrometer rather than Dropwizard for a few metrics
2025-07-25 10:17:50 -07:00
Ravi Khadiwala
c92a29db1e
Update to the latest version of the spam filter
2025-07-25 12:08:53 -05:00
Ravi Khadiwala
37d67f110a
Handle unexpectedly missing last-resort prekeys
2025-07-25 11:54:50 -05:00
Katherine
bf779f30ab
Fix number of accounts processed counter
2025-07-24 12:26:49 -04:00
Jon Chambers
4d81124dfa
Remove redundant disconnection requests
2025-07-24 10:33:10 -04:00
Jonathan Klabunde Tomer
ccf8840fa3
fix accidental reversal of metrics
2025-07-24 10:32:34 -04:00
Katherine
267aafe861
Encrypt device creation timestamp crawler
2025-07-24 10:29:52 -04:00
Chris Eager
1bdcfb1d83
Don’t unnecessarily reinitialize test DynamoDB client
2025-07-23 13:32:58 -05:00
Chris Eager
0c69ef9381
Update to the latest version of the spam filter
2025-07-23 13:18:39 -05:00
Chris Eager
c99b1cada1
Add overrides configuration to LocalDynamoDbFactory
2025-07-23 13:13:23 -05:00
Chris Eager
83d19ac8ed
Update localstack test container to 4.x
2025-07-23 13:13:23 -05:00
Chris Eager
5f77d7f582
Migrate from embedded DynamoDBLocal to Testcontainers
2025-07-23 13:13:23 -05:00
Katherine
96f6e75702
Introduce encrypted device creation timestamps
2025-07-23 10:36:11 -04:00
Katherine
74c7e49cea
Replace device creation timestamps with registration IDs in experiment logic
2025-07-23 10:24:28 -04:00
Jon Chambers
876bf15a11
Extend timeouts for Redis client tests
2025-07-23 10:24:07 -04:00
Chris Eager
de60752219
Convert Profiles gRPC to SimpleGrpc
2025-07-23 10:23:48 -04:00
Katherine
5d80ac73da
Update libsignal to 0.76.5
2025-07-23 10:22:48 -04:00
Ravi Khadiwala
0ff32d5cae
Update to the latest version of the spam filter
2025-07-21 12:01:45 -05:00
Chris Eager
4618b47141
Convert classes using @JsonUnwrapped to records
2025-07-21 11:52:25 -05:00
Ravi Khadiwala
94361b2d5d
Remove allow list from pin event monitor
2025-07-21 11:50:30 -05:00
Ravi Khadiwala
d4429ebce1
Update to Java 24 and add .java-version
2025-07-21 11:50:30 -05:00
Jonathan Klabunde Tomer
b5711ead25
/v2/config: don't return configs namespaced to different platforms
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2025-07-18 14:59:41 -07:00
ravi-signal
522ddd4e61
Add documentation for 413 response from /v1/archives/upload/form
2025-07-18 14:59:26 -07:00
Jon Chambers
73365369df
Fix a silly typo when generating Redis URIs for tests
2025-07-17 13:16:14 -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
4ccd39fd55
Validate intra-account messages before applying number changes
2025-07-17 11:34:50 -04:00
Jon Chambers
50bc6b2c62
Update to the latest version of the spam filter
2025-07-17 11:33:46 -04:00
Jon Chambers
609b86acb9
Inline the cluster compose file
2025-07-17 11:17:40 -04:00
Jon Chambers
1ea84483da
Copy Redis cluster compose file to a temporary file
2025-07-17 11:17:40 -04:00
Jon Chambers
ed5086823c
Extend timeout for MessagePersisterTest
2025-07-17 10:00:48 -04:00
Jon Chambers
73748a6341
Create new Redis client resources for each test
2025-07-17 10:00:48 -04:00
Jon Chambers
1f60300555
Remove embedded-redis as a dependency
2025-07-17 10:00:48 -04:00
Jon Chambers
85a13a9dc0
Extend lifecycle of Redis cluster clients
2025-07-17 10:00:48 -04:00
Jon Chambers
803e73bd1e
Use a Redis testcontainer instead of embedded-redis in RedisClusterExtension
2025-07-17 10:00:48 -04:00
Jon Chambers
a3356d0188
Use a Redis testcontainer instead of embedded-redis in RedisServerExtension
2025-07-17 10:00:48 -04:00
Jonathan Klabunde Tomer
5c21aa2ad4
implement /v2/config API ( #2764 )
2025-07-16 15:29:31 -07:00
Jon Chambers
6116830da9
Remove spurious null checks
2025-07-16 12:34:20 -04:00
Jon Chambers
650bc2598b
Retire AccountsManager#updatePniKeys and associated plumbing
2025-07-16 12:34:20 -04:00
Jon Chambers
a36fba061a
Remove "no action on change to same number" optimization for "change number" operations
2025-07-16 12:34:20 -04:00
Jon Chambers
e62b3d390f
Accquire pessimistic account locks by sets of identifiers instead of lists
2025-07-16 12:34:20 -04:00
Jon Chambers
1a8ebf80b5
Add an integration test for changing to the same phone number
2025-07-16 12:34:20 -04:00
Jon Chambers
2564f706d8
Retire the "distribute PNI key material" endpoint
2025-07-16 12:34:20 -04:00
Ravi Khadiwala
c97c00bf5f
Fix the play mapping to stripe statuses
...
CANCELLED in play terminiology is the same as an active subscription
with cancelAtPeriodEnd set. So it should map to the ACTIVE stripe
status. EXPIRED is the equivalent of a stripe CANCELLED subscription.
2025-07-16 11:19:15 -05:00
Ravi Khadiwala
702b125a48
Accept all entitled play tokens
2025-07-16 11:19:15 -05:00
Chris Eager
ca9f29f984
Only delete profile avatars during explicit delete actions
...
This preserves the avatar during re-registration, when PIN recovery might occur.
2025-07-15 16:19:52 -05:00
ravi-signal
58b9fa100d
Remove from svrb on account deletion
2025-07-15 16:17:14 -05:00
ravi-signal
656b08f3b6
Avoid potential concurrent modification in KeysController
2025-07-15 16:15:08 -05:00
Ravi Khadiwala
3f62677176
Allow optional size parameter when requesting message backup upload forms
2025-07-15 16:14:33 -05:00
Ravi Khadiwala
ae2d98750c
Add SecureValueRecoveryBController
2025-07-11 13:39:18 -05:00
Ravi Khadiwala
7d41c1219b
Add /v2/svr as an alternative name for /v2/backup
2025-07-11 13:39:18 -05:00
Ravi Khadiwala
65e1f1b3a9
Arm the RemoveOrphanedPreKeyPagesCommand
2025-07-11 13:26:15 -05:00
Ameya Lokare
437b823c84
Update to the latest version of the spam filter
2025-07-09 13:27:04 -07:00
ravi-signal
c9f21d5970
Always read from new and old PQ prekey stores, add experiment to start writing to new prekey store
2025-07-09 09:17:17 -05:00
Ravi Khadiwala
80c11e7eda
Handle 429s from play API and add subscription docs
2025-07-09 09:15:29 -05:00
Jon Chambers
0745cabc87
Explicitly use synchronous flush mode when clearing Redis databases between tests
2025-07-09 09:15:15 -05:00
Jon Chambers
3e80669f4e
Reuse/extend lifetime of Redis singleton resources
2025-07-09 09:15:15 -05:00
Jon Chambers
b81cd9ec61
Reuse Redis clusters for the duration of a test run
2025-07-09 09:15:15 -05:00
Jon Chambers
da6ed94443
Reuse client resources for lifetime of Redis cluster
2025-07-09 09:15:15 -05:00
Ameya Lokare
96d41b3716
Update to the latest version of the spam filter
2025-07-07 09:16:48 -07:00
Ravi Khadiwala
7dddc4d759
fix an incorrect backup metric
2025-07-07 18:14:53 +02:00
Katherine
a87690d817
Include Redis cluster and shard address in circuit breaker log
2025-07-07 12:12:44 -04:00
Ameya Lokare
18ef3da261
Update dependencies
2025-06-30 14:17:03 -07:00
Ameya Lokare
f4698dd5b2
Update to the latest version of the spam filter
2025-06-27 12:07:45 -07:00
Adel Lahlou
d4322a2ed4
Remove latency based 1:1 call routing
2025-06-27 12:06:43 -07:00
Jon Chambers
7260a9d5b4
Make FoundationDB versions available at runtime
2025-06-27 11:21:50 -04:00
Jon Chambers
12b4ceb4aa
Configure FoundationDB service container's database via Docker, removing fdbcli dependency
2025-06-27 11:08:58 -04:00
Jon Chambers
fa1cd5c263
Install the Maven-fetched FoundationDB client library on GitHub Actions runner
2025-06-27 11:06:04 -04:00
Jon Chambers
f8da13912d
Fetch the FoundationDB client library as a pre-package step rather than including it in version control
2025-06-27 11:04:53 -04:00
Jon Chambers
a3b3bf86ba
Add a note about the FoundationDB client library requirement to the README
2025-06-27 11:04:52 -04:00
Jon Chambers
a99f7bb87d
Add test dependencies for FoundationDB
2025-06-27 11:04:52 -04:00
Jon Chambers
d6f14d02dd
Add a FoundationDB service container for tests
2025-06-27 11:04:46 -04:00
Jon Chambers
d18671eaf9
Add FoundationDB runtime dependencies
2025-06-26 12:13:09 -04:00
Jon Chambers
87c30d00e8
Store compressed envelopes at rest
2025-06-25 15:20:19 -04:00
Jon Chambers
c8f45685b8
Expand envelopes on load from storage
2025-06-25 14:31:19 -04:00
Jon Chambers
bb90d80d22
Add a utility for compressing/expanding envelopes
2025-06-25 14:31:19 -04:00
Jon Chambers
dcc541f86e
Add binary representation fields for service IDs/UUIDs
2025-06-25 14:31:19 -04:00
Ravi Khadiwala
aaa36fd8f5
Add a crawler for orphaned prekey pages
2025-06-24 13:46:48 -05:00
Ravi Khadiwala
2bb14892af
Add paged prekey store
2025-06-24 13:46:48 -05:00
Ameya Lokare
6d8701665e
Update to the latest version of the spam filter
2025-06-24 11:46:11 -07:00
Katherine
c2b8fdac0d
Only log for an unexpected error from the key transparency service
2025-06-24 14:45:53 -04:00
Katherine
059caa4c57
Implement key transparency endpoints using simple-grpc
2025-06-24 14:01:35 -04:00
Jon Chambers
51773f5709
Update to the latest version of the spam filter
2025-06-23 10:20:24 -04:00
Jon Chambers
483404a67f
Retire authenticated device getters
2025-06-23 10:10:30 -04:00
Jon Chambers
68b84dd56b
Remove the PQ key check from IdlePrimaryDeviceAuthenticatedWebSocketUpgradeFilter
...
All devices now have PQ keys
2025-06-23 08:58:15 -05:00
Jon Chambers
7709e1313c
Update to the latest version of the spam filter
2025-06-23 09:50:45 -04:00
Jon Chambers
c952baa672
Don't cache authenticated accounts in memory
2025-06-23 09:40:05 -04:00
Ravi Khadiwala
9dfe51eac4
Forbid linked devices from setting backup-ids
2025-06-18 11:07:52 -05:00
andrew-signal
5de848bf38
Instrument request/response sizes
2025-06-17 11:16:57 -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
Ravi Khadiwala
626a7fdad7
Add docs to /v1/donations/redeem-receipt
2025-06-12 17:07:19 -05:00
Jon Chambers
9a1da23bdb
Add an isEphemeral dimension to message delivery latency metrics
2025-06-10 17:05:46 -05:00
ravi-signal
4ffd164461
Wire up the direct noise tunnel
2025-06-10 16:56:31 -05:00
Jon Chambers
904cc63a72
Clarify that OutgoingMessageEntity#toEnvelope is a test-only method
2025-06-10 16:55:13 -05:00
Ravi Khadiwala
177c36b0d6
Fix backup metric names and use remote aggregation
2025-06-10 16:54:45 -05:00
Jon Chambers
5fc6bdd478
Add a device capability for sparse post-quantum ratchet (SPQR)
2025-06-10 16:54:30 -05:00
Jon Chambers
ca6e5fb0a8
Hide model validation methods in API docs
2025-06-06 16:19:48 -04:00
Jon Chambers
1a7a446150
Regenerate phone number identifiers when regenerating secondary table data
2025-06-05 15:12:33 -04:00
Ameya Lokare
981d929f50
Extend ChannelCircuitBreakerHandler with ChannelOutboundHandlerAdapter
...
instead of ChannelDuplexHandler
2025-06-05 12:00:21 -05:00
Ravi Khadiwala
4a3eb642c0
Remove unused S3Client
2025-06-05 11:49:03 -05:00
Ameya Lokare
a1b0c1a4aa
Update to the latest version of the spam filter
2025-06-04 10:53:16 -07:00
Chris Eager
0f185a528d
Add isUrgent tag to message delivery latency metrics
2025-06-04 10:51:05 -07:00
Ravi Khadiwala
aef7f3fef8
Avoid generating invalid deviceId in unit test
2025-06-04 12:49:23 -05:00
Ravi Khadiwala
1767586797
Add metrics for opk upload size
2025-06-04 10:46:11 -07:00
Ameya Lokare
60be6de9af
Trivial: Add missing @Mutable annotation to setPublicKey
2025-06-03 18:13:39 -07:00
Jonathan Klabunde Tomer
2a7551cca5
support REST deprecation by platform for all requests with % rollout
2025-05-29 16:15:19 -07:00
Jonathan Klabunde Tomer
36439b5252
call ThreadLocalRandom.current at point of use only
2025-05-29 16:15:05 -07:00
ravi-signal
bbee80dbd0
Fix class cast exceptions with SchedulingUtil
2025-05-29 16:14:23 -07:00
Ravi Khadiwala
a7ea42adc3
Add a crawler to recalculate quota usage
2025-05-28 15:49:55 -05:00
Ravi Khadiwala
4dc3b19d2a
Track backup metrics on refreshes
2025-05-28 15:28:55 -05:00
ravi-signal
030d8e8dd4
Reduce drift between tracked and actual backup usage
2025-05-28 15:25:32 -05:00
Chris Eager
401165d0d6
Convert unidentifiedDelivery.certificate configuration to byte[]
2025-05-27 14:55:14 -05:00
Chris Eager
ccb209ad37
Consolidate avatar deletion logic in ProfilesManager
2025-05-27 13:46:41 -05:00
Chris Eager
c1a66e0418
Delete avatars in ProfilesManager#deleteAll
2025-05-27 13:46:41 -05:00
Jon Chambers
8491d18413
Revert "Count API calls by authentication status"
...
This reverts commit 9b835633ab .
2025-05-27 13:51:17 -04:00
Jon Chambers
9b835633ab
Count API calls by authentication status
2025-05-27 11:59:28 -04:00
Jon Chambers
fbbc4b8b27
Get integration test configuration directly from a GitHub Actions variable
2025-05-21 14:42:14 -04:00
Jonathan Klabunde Tomer
74ee1c8c4f
Update to the latest version of the spam filter
2025-05-21 10:46:18 -07:00
Jonathan Klabunde Tomer
35604cf151
Simplify rate limiters by making them all dynamic
2025-05-21 10:29:26 -07:00
Ravi Khadiwala
aafcd63a9f
Decrease the page size for OPK queries
...
A single element is almost always enough
2025-05-20 11:21:20 -04:00
Jon Chambers
43a534f05b
Add a command for regenerating account constraint tables
2025-05-20 11:21:02 -04:00
Jon Chambers
9ec66dac7f
Make getRegistrationId identity-type-aware
2025-05-14 14:39:11 -04:00
Jon Chambers
13fc0ffbca
Assume that PNI registration IDs are always present on Device records
2025-05-14 14:39:11 -04:00
Jon Chambers
93ba6616d1
Perform device list validations in the scope of a pessimistic account lock
2025-05-14 14:39:11 -04:00
Jon Chambers
a4b98f38a6
Use a Callable for tasks performed within the scope of a pessimistic lock
2025-05-14 14:39:11 -04:00
Jon Chambers
b95d08aaea
Drop PqKeysUtil
2025-05-14 14:39:11 -04:00
Jon Chambers
b400d49e77
Require PQ keys when changing numbers or distributing key material
2025-05-14 14:39:11 -04:00
Jon Chambers
e43487155f
Remove commands for removing accounts/devices without PQ or PNI key material
2025-05-14 14:39:11 -04:00
Jon Chambers
dee3723d97
Remove an unused user-agent argument
2025-05-14 14:39:11 -04:00
Jon Chambers
b7e986f43c
Add an integration test for changing phone numbers
2025-05-14 14:39:11 -04:00
Jon Chambers
664fb23e97
Resolve warnings/suggestions throughout AccountsTest
2025-05-14 11:30:59 -04:00
Chris Eager
714ef128a1
Compare using PNI in account reclamation
2025-05-13 16:41:42 -07:00
Ravi Khadiwala
7cf3fce624
Log unexpected account reclaim mismatches
2025-05-13 14:17:18 -05:00
ravi-signal
0cc5431867
Update noise-gRPC protocol errors
2025-05-13 14:16:23 -05:00
Ravi Khadiwala
b8d5b2c8ea
Match account idle duration in RemoveExpiredBackupsCommand
2025-05-13 14:15:50 -05:00
Ravi Khadiwala
894ca6d290
remove ANDROID_SKIP_LOW_URGENCY_PUSH_EXPERIMENT
2025-05-13 13:59:28 -05:00
Ravi Khadiwala
847b25f695
Add experiment to coalesce android notifications
2025-05-13 13:59:28 -05:00
Ravi Khadiwala
703a05cb15
Support scheduling background FCMs
2025-05-13 13:59:28 -05:00
Jon Chambers
30c194c557
Exclude RateLimitExceededException from fail-open checks
2025-05-12 15:24:57 -07:00
Jonathan Klabunde Tomer
cc7b030a41
Send disconnection requests after non-API device unlinks
2025-05-06 13:36:41 -07:00
Jon Chambers
7a91c4d5b7
Correct metric names
2025-05-05 13:53:22 -04:00
Jon Chambers
287da6e7e3
Ignore already-locked accounts in PNI key cleanup operations
2025-05-05 13:53:22 -04:00
Katherine
7cf89764e7
Update FullTreeHead to use FullAuditorTreeHead
2025-05-05 10:44:57 -07:00
Jon Chambers
d316c72beb
Add commands for removing accounts/devices without PNI key material
2025-05-05 12:10:47 -04:00
Katherine Yen
82d187cc45
Update key transparency protobufs
2025-05-02 10:40:53 -04:00
Jon Chambers
0c240d21d2
Update to the latest version of the spam filter
2025-05-02 10:40:07 -04:00
Jon Chambers
009252c831
Configure IP-keyed rate limiters to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
0c1146aaa5
Configure rate limiters with large initial capacities to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
4fd06594a0
Configure fast-regenerating rate limiters to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
4e175be88f
Allow the "inbound message bytes" limiter to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
771a700acd
Configure fail-open policy on individual rate limiters
2025-05-02 10:30:29 -04:00
Jon Chambers
e9bd5da2c3
Allow fail-open behavior for a wider range of exceptions
2025-05-02 10:30:29 -04:00
Jon Chambers
f64244f33a
Remove an unused TURN rate limiter
2025-05-02 10:30:29 -04:00
Ravi Khadiwala
ed1417c3e3
Update to the latest version of the spam filter
2025-04-30 15:06:03 -05:00
ravi-signal
0398e02690
Add NoiseDirect framing protocol
2025-04-30 15:05:05 -05:00
Chris Eager
e285bf1a52
Fix test by using generic exists command
2025-04-29 13:05:10 -05:00
Ameya Lokare
2c9219d4f7
Update to the latest version of the spam filter
2025-04-29 10:57:05 -07:00
Jon Chambers
26b3b75054
Only fetch last-resort PQ keys for accounts with linked devices
2025-04-28 16:59:08 -04:00
Jon Chambers
cdb651b68f
Add commands for removing devices without PQ keys
2025-04-28 15:45:27 -04:00
Ameya Lokare
91a36f4421
Update to the latest version of the spam filter
2025-04-28 11:59:43 -07:00
Jonathan Klabunde Tomer
21c1d71551
take advantage of list non-nullitude
2025-04-25 10:06:42 -05:00
Jonathan Klabunde Tomer
38befdb260
default lists to empty
2025-04-25 10:06:42 -05:00
Jonathan Klabunde Tomer
63c79173b2
limit prekey uploads to 100
2025-04-25 10:06:42 -05:00
Ameya Lokare
d2ad003891
Remove free memory and OS memory gauges
2025-04-25 10:05:29 -05:00
Chris Eager
eb89773819
Remove unused parameter
2025-04-25 10:05:18 -05:00
Chris Eager
403abd84f6
Run test action on pull_request events
2025-04-25 10:05:08 -05:00
Jon Chambers
f62f79c95c
Add a counter for cases where clients use both an authenticated identity and UAK when fetching profiles
2025-04-24 11:47:43 -04:00
Jon Chambers
144c4c9223
Add a "sync" dimension to the "sent message" counter
2025-04-24 10:33:39 -05:00
Ravi Khadiwala
ab4fc4f459
Add skip low urgency push experiment
2025-04-24 10:32:46 -05:00
Jonathan Klabunde Tomer
51569ce0a5
Use cached partition topology for metrics/logs
2025-04-24 08:29:58 -07:00
Jon Chambers
f191c68efc
Close remote connections only after all active server calls have completed
2025-04-22 17:00:48 -04:00
Jon Chambers
bb8ce6d981
Introduce ClosableEpoch
2025-04-22 17:00:48 -04:00
Katherine
e0ee75e0d0
Fix Daylight Savings bug in recommended notification time calculation
2025-04-22 16:56:10 -04:00
Jon Chambers
1ef3a230a1
Tag queue size distribution with client platform
2025-04-22 16:55:16 -04:00
Jon Chambers
b1805d4bf1
Add a "persisted bytes" counter
2025-04-22 16:55:16 -04:00
Jon Chambers
cac979c7fd
Count individual persisted messages
2025-04-22 16:55:16 -04:00
Jon Chambers
4072dcdda5
Introduce DevicePlatformUtil
2025-04-22 16:55:16 -04:00
Jonathan Klabunde Tomer
ed382fff6d
log slot number and shard host of message persister failures
2025-04-22 16:55:16 -04:00
Jon Chambers
23bb8277d5
Update to the latest version of the spam filter
2025-04-18 15:56:17 -04:00
Jon Chambers
8099d6465c
Clarify guarantees around remote channnel/request attribute presence
2025-04-18 15:44:21 -04:00
Jon Chambers
28a0b9e84e
Include a TURN credential TTL for clients in GetCallingRelaysResponse
2025-04-17 10:30:58 -04:00
Chris Eager
9287aaf7ce
Add app info to Stripe API calls
2025-04-17 09:30:34 -05:00
Chris Eager
0585f862cb
Add regression test for set profile badges calculation
2025-04-17 09:29:11 -05:00
Chris Eager
7cac6f6f72
Remove extraneous account fetch in POST /v1/donation/redeem-receipt
2025-04-17 09:28:57 -05:00
Jon Chambers
57be4d798b
Add a counter for attempts to send empty message lists
2025-04-17 10:27:46 -04:00
Jon Chambers
05c74f1997
Simplify UserAgentUtil
2025-04-17 10:27:24 -04:00
Jon Chambers
f5e49b6db7
Convert UserAgent to a record
2025-04-15 14:58:09 -04:00
Jon Chambers
3c40e72d27
Fix registration ID map construction when changing numbers
2025-04-15 14:57:28 -04:00
Ravi Khadiwala
2f2ae7cec5
simplify story tag calculation
2025-04-11 14:04:09 -05:00
Chris Eager
b236b53dc3
set profile: move updated badge calculation into account updater lambda
2025-04-11 14:03:05 -05:00
Katherine
eb71e30046
Update to protobuf 4.x
2025-04-10 13:05:23 -04:00
Jon Chambers
aa5fd52302
Explicitly pass sync message sender device ID as an argument to sendMessage
2025-04-10 11:40:32 -04:00
Jon Chambers
d6bc2765b6
Close gRPC channels from a copied list to avoid concurrent modification issues
2025-04-09 21:54:18 -04:00
Jon Chambers
01258de560
Throw a MismatchedDevicesException for empty message lists to support iOS clients
2025-04-09 21:53:58 -04:00
Jon Chambers
3af2cc5c70
Add tests for spam-reporting token presence
2025-04-09 14:24:34 -04:00
Jon Chambers
2278842531
Add gRPC endpoints for sending messages from identified/authenticated senders
2025-04-09 14:24:34 -04:00
Jon Chambers
60ab00ecc6
Specify bounds for message timestamps
2025-04-09 14:24:20 -04:00
Jon Chambers
1fb6d23500
Allow range validators to accept 64-bit min/max values
2025-04-09 14:24:20 -04:00
Jon Chambers
8d8a2a5583
Extract common message-sending methods into a shared utility class
2025-04-08 17:39:45 -04:00
Jon Chambers
caa81b4885
Implement story sending via gRPC
2025-04-08 17:30:33 -04:00
Jon Chambers
37c4a0451a
Simplify returning spam responses from gRPC
2025-04-08 17:30:33 -04:00
Jon Chambers
11df8fcc6c
Add gRPC endpoints for sending unauthenticated (i.e. sealed-sender) messages
2025-04-08 17:30:33 -04:00
Jon Chambers
5a7f4d8381
Make the utility method for checking group send credentials blocking
2025-04-08 17:30:33 -04:00
Jon Chambers
1f1e4c72ec
Add simple-grpc as a dependency/generator
2025-04-08 17:30:33 -04:00
Jon Chambers
02a5a6b55f
Subdivide MessageController's message-sending methods into message-type-specific methods
2025-04-08 10:22:07 -04:00
Ameya Lokare
58ad647d29
Update to the latest version of the spam filter
2025-04-07 11:25:49 -07:00
Jon Chambers
099073356c
Make destination service identifiers for spam checks non-optional
2025-04-07 11:12:07 -07:00
Chris Eager
37038c4a63
Keep a strong reference to expiration in Gauge
2025-04-07 13:10:41 -05:00
Jon Chambers
ffa98e5b34
Reduce and centralize message-sending metrics
2025-04-07 11:08:53 -04:00
Jon Chambers
6013d00654
Introduce a distinct UA for server-generated messages
2025-04-07 11:01:01 -04:00
Jon Chambers
c03d63acb8
Centralize message size validation in actual message-sending methods
2025-04-07 11:01:01 -04:00
Jon Chambers
c6689ca07a
Internalize destination device list/registration ID checks in MessageSender
2025-04-07 09:15:39 -04:00
Chris Eager
1d0e2d29a7
Update javax.ws Javadoc references to jakarta.wx
2025-04-07 09:11:36 -04:00
Ameya Lokare
d83d826236
Use expire NX on cardinality estimator key
2025-04-07 09:11:24 -04:00
Chris Eager
2efe687b4b
Add TlsCertificateExpirationUtil
2025-04-07 09:10:48 -04:00
Katherine Yen
7cabc8f328
Update to the latest version of the spam filter
2025-04-03 12:27:43 -04:00
Katherine
b57bdcaaea
Dependency updates for Q2 2025
2025-04-03 12:05:51 -04:00
Chris Eager
041643783d
Add libsignal tag to MetricsHttpChannelListener
2025-04-03 11:05:20 -05:00
Jon Chambers
ed75ef917a
Update to the latest version of the spam filter
2025-04-02 13:27:49 -04:00
Jon Chambers
7ea0885474
Accommodate gRPC in the SpamChecker interface
2025-04-02 13:16:55 -04:00
Jon Chambers
488e7c4913
Update to the latest version of the spam filter
2025-04-02 09:00:35 -04:00
Jon Chambers
6af4d41322
Enumerate rate limit challenge options
2025-04-02 08:48:43 -04:00
Ravi Khadiwala
2b07a21477
Add some additional backup metrics
2025-04-02 08:48:18 -04:00
Jon Chambers
4a42ff562d
Define authenticated and anonymous gRPC services for sending messages
2025-04-02 08:47:34 -04:00
Jon Chambers
d4031893cc
Make raw User-Agent strings available to gRPC services
2025-04-01 09:11:37 -04:00
Ravi Khadiwala
c2e3ab832c
enforce provisioning websocket timeouts
2025-03-26 16:28:51 -05:00
Ravi Khadiwala
8c2f3c839f
Fix calculation of backup staleness metric
2025-03-26 16:28:38 -05:00
Ravi Khadiwala
df188e6f15
Document behavior for deletes of non-existing objects
2025-03-26 16:26:18 -05:00
Jon Chambers
12576daf1f
Retire the (long-unused!) KEY_EXCHANGE envelope type
2025-03-26 11:32:23 -04:00
Chris Eager
46aefc0cbe
Add retry configuration to RemoveExpiredUsernameHoldsCommand
2025-03-25 11:46:05 -05:00
Chris Eager
9d4f9b4c12
Add retry configuration to RemoveExpiredBackupsCommand
2025-03-25 11:46:05 -05:00
Chris Eager
3591e6bebd
Add retry configuration to RemoveExpiredAccountsCommand
2025-03-25 11:46:05 -05:00
Chris Eager
e12ba6b15b
Reduce page size in MessagesDynamoDb#mayHaveUrgentMessages
2025-03-25 11:45:47 -05:00
Chris Eager
744b05244d
Add onErrorResume and retries to eligibility check in NotifyIdleDevicesCommand
2025-03-25 11:45:16 -05:00
Chris Eager
c22b8fafa6
Update AWS SDK to 2.31.7
2025-03-25 11:44:54 -05:00
Ameya Lokare
2194cf46e1
Remove jaxb and jaxb-api version pins
2025-03-24 16:37:34 -07:00
Jonathan Klabunde Tomer
1a46ac122a
add some tags to ProfileController.versionNotFound
2025-03-24 14:57:29 -07:00
Ameya Lokare
55f85a81c6
Update to the latest version of the spam filter
2025-03-24 13:26:53 -07:00
Chris Eager
5a8cb8a312
Revert "Skip shared multi-recipient message payloads for small messages"
...
This reverts commit db2cd20dcb .
2025-03-24 14:40:12 -05:00
Jon Chambers
d641d1fc39
Update to the latest version of the spam filter
2025-03-24 11:17:49 -04:00
Jon Chambers
df56c65b54
Validate device message sizes when distributing PNI keys
2025-03-24 10:58:38 -04:00
Jon Chambers
1346fcb59e
Require that incoming messages have content
2025-03-24 10:58:38 -04:00
Jon Chambers
50f681ffe8
Centralize message length validation
2025-03-24 10:58:38 -04:00
Jon Chambers
faef614d80
Parse message content as a byte array in request entities
2025-03-24 10:58:38 -04:00
Chris Eager
db2cd20dcb
Skip shared multi-recipient message payloads for small messages
2025-03-21 16:51:21 -05:00
Chris Eager
9ef6024291
Update to the latest version of the spam filter
2025-03-20 10:44:47 -05:00
Jon Chambers
a643a6c0f0
Always record inbound message byte rate limit events
2025-03-20 10:44:10 -05:00
Chris Eager
82e21b0c21
Remove obsolete turn implementations
2025-03-20 10:38:14 -05:00
Chris Eager
50e298a4f4
Add counter for Redis events
2025-03-20 10:37:18 -05:00
Chris Eager
a0b9c40f6c
Add JettySslHandshakeMetrics
2025-03-20 10:36:52 -05:00
Ravi Khadiwala
359cf02161
Add new attachmentBackfill capability
2025-03-19 16:03:40 -05:00
Chris Eager
6a1f01f876
Remove unused executor service
2025-03-13 14:49:04 -04:00
Jon Chambers
0595acc48f
Add a counter for messages removed from the message cache
2025-03-13 14:48:34 -04:00
Jon Chambers
46ff8d51dc
Switch to remote aggregation for persister distribution summaries
2025-03-13 14:48:34 -04:00
Jon Chambers
dcd80e11f4
Measure persisted message bytes
2025-03-13 14:48:34 -04:00
Jon Chambers
e1b1c7db8d
Normalize persister metric names; make metrics static final
2025-03-13 14:48:34 -04:00
Jon Chambers
99041bc593
Use a dedicated status code (and message) for "reauthentication required"
2025-03-13 14:48:17 -04:00
Ravi Khadiwala
dbd14481ed
Add a missing join to testTrimOnFullPrimaryQueue
2025-03-11 17:39:15 -05:00
ravi-signal
e3160bc717
Add a dedicated size estimation method to MessagesCache
2025-03-10 16:09:05 -05:00
Chris Eager
6798958650
Update autoPagingIterable() usage to remove null params
2025-03-08 09:08:27 -08:00
Chris Eager
3a90c572b4
Ensure customer ID matches in StripeManager#cancelAllActiveSubscriptions
2025-03-08 08:35:43 -08:00
ravi-signal
eab3c36d83
Dont discard ephemeral messages beyond what the persister consumes
2025-03-07 15:27:03 -06:00
Ravi Khadiwala
b7fee7b426
Allow cancellation of an expired purchaseToken
2025-03-07 15:26:33 -06:00
ravi-signal
469955aec9
Treat a 410 for an IAP token as not found
2025-03-07 15:24:33 -06:00
Chris Eager
d1c9dff2c5
Use WhisperServerService as base name for executor service metrics
2025-03-07 15:23:51 -06:00
Jonathan Klabunde Tomer
9491ebbe90
remove versionedExpirationTimer
2025-03-06 08:20:06 -08:00
Ravi Khadiwala
09b50383d7
Automatically trim primary queue when cache cannot be persisted
2025-03-05 15:56:00 -06:00
Jon Chambers
8517eef3fe
Add a "critical" warning tier for primary devices missing PQ keys
2025-03-05 08:51:10 -05:00
Jon Chambers
8955e31a1e
Configure an "idle primary device reminder" interceptor
2025-03-04 08:35:01 -05:00
Jon Chambers
f7a3971c64
Add an authentication interceptor that adds alert headers for idle primary devices
2025-03-04 08:35:01 -05:00
Jon Chambers
552079d3c2
Add an interceptor interface for WebSocket authentication
2025-03-04 08:35:01 -05:00
Chris Eager
59d984e25d
Add pqKeyAvailable tag to GetKeys metric
2025-03-04 08:02:05 -05:00
Jonathan Klabunde Tomer
d17b9322b7
remove old AAACertificateServices root too
2025-03-04 08:01:53 -05:00
Jonathan Klabunde Tomer
12bc175776
remove expired GeoTrust certificate from push trust store
2025-03-04 08:01:53 -05:00
Ravi Khadiwala
376458efa8
remove extra FCM QUOTA_EXCEEDED logging
2025-03-04 08:01:38 -05:00
Adel Lahlou
886984861f
remove performance based turn routing from CallRoutingControllerV2
2025-03-04 08:01:18 -05:00
Jon Chambers
b248b6bc12
Add the new APNs certificate to our trust store
2025-02-24 16:24:17 -05:00
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
Chris Eager
47294ef6b8
Update README.md
2025-02-13 17:18:50 -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
6545bb9edb
Update to the latest version of the spam filter
2025-01-31 12:58:16 -05: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
Chris Eager
06388b514c
Add timeout to GitHub test action
2025-01-31 11:56:39 -06:00
Jon Chambers
7c17a4067c
Update to the latest version of the spam filter
2025-01-31 10:34:14 -05: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
Ameya Lokare
ebd906a45d
Update to the latest version of the spam filter
2025-01-28 12:21:09 -08: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
Ameya Lokare
790b9bbf01
Update to the latest version of the spam filter
2025-01-14 12:38:44 -08: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
Jon Chambers
eac183495a
Update deployment Docker image
2025-01-10 10:04:40 -05:00
Jon Chambers
0ae02da9be
Update GitHub Actions versions
2025-01-10 10:04:40 -05:00
Jon Chambers
90fe634ddd
Update to the latest version of Maven
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
Chris Eager
981a04f33b
Update lettuce to 6.5.1.RELEASE
2024-12-18 18:52:00 -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
a99ac14c6a
Write number->pni mapping before checking rrp table
2024-12-03 14:05:31 -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
142e2cbe9d
Update to the latest version of the spam filter
2024-12-02 10:59:51 -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
c7e6ee7297
Update to the latest version of the spam filter
2024-11-26 16:36:45 -08: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
6f0370a073
Update to the latest version of the spam filter
2024-11-26 17:39:37 -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
815fd44ab3
Update to the latest version of the spam filter
2024-11-21 16:08:08 -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
085f013bf9
Update to libphonenumber 8.13.50 in preparation for Benin phone number format changes
2024-11-19 16:20:43 -05:00
Ameya Lokare
c6b8d890e5
Update to the latest version of the spam filter
2024-11-15 12:30:38 -08: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
a1ac5bd74c
Bind maven-dependency-plugin properties goal to the process-test-classes phase
2024-11-15 14:11:04 -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
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
59e0137816
Update to the latest version of the spam filter
2024-11-11 16:50:19 -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
Ameya Lokare
3ccd7508ac
Update to the latest version of the spam filter
2024-11-08 12:24:06 -08: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
Chris Eager
88a1f951c2
Update to the latest version of the spam filter
2024-11-07 16:53:15 -06:00
Chris Eager
1726a1d5f4
Remove extraneous plugin version declaration
2024-11-07 16:45:40 -06:00
Chris Eager
6c563a3f13
Update various dependencies
...
- aws.sdk2: 2.29.7
- braintree: 3.37.0
- commons-csv: 1.12.0
- commons-io: 2.17.0
- dropwizard: 3.0.10
- firebase-admin: 9.4.1
- google-androidpublisher: v3-rev20241016-2.0.0
- google-cloud-libraries: 26.50.0
- jackson: 2.18.1
- junit-pioneer: 2.23.0
- libphonenumber: 8.13.49
- micrometer: 1.13.6
- reactor: 2023.0.11
- storekit: 3.2.0
- exec-maven-plugin: 3.4.1
- jib-maven-plugin: 3.4.4
- maven-deploy-plugin: 3.1.3
- maven-install-plugin: 3.1.3
- maven-surefire-plugin: 3.5.2
- maven-failsafe-plugin: 3.5.2
- swagger-maven-plugin: 2.22.25
2024-11-07 16:34:42 -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
Ameya Lokare
c91242ed60
Update to the latest version of the spam filter
2024-11-07 08:32:15 -08: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
e277281d18
Update to the latest version of the spam filter
2024-11-06 09:32:57 -05:00
Ameya Lokare
3d339696dc
Update to the latest version of the spam filter
2024-11-05 16:17:22 -08: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
c1e870d8f5
Update to the latest version of the spam filter
2024-10-31 14:55:33 -07:00
Ameya Lokare
190f2a7fc2
Pass ACI to captcha checker
2024-10-31 14:24:43 -07:00
Jonathan Klabunde Tomer
ce0ccf4fd0
Update to the latest version of the spam filter
2024-10-31 11:27:38 -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
Ameya Lokare
89292e238b
Update to the latest version of the spam filter
2024-10-28 12:20:54 -07: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
Ameya Lokare
5c4cafcb6f
Update to the latest version of the spam filter
2024-10-23 13:21:05 -07:00
Ameya Lokare
1ea8d69b40
Update captcha string in local testing doc
2024-10-23 09:56:41 -07: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
3fdb691702
Update to the latest version of the spam filter
2024-10-22 10:29:01 -07:00
Ameya Lokare
997129871c
Lazily get captcha clients to avoid initialization issues
2024-10-22 09:13:00 -07:00
Ameya Lokare
39b1935350
Update to the latest version of the spam filter
2024-10-21 14:09:19 -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
Ameya Lokare
93b7fd589e
Update to the latest version of the spam filter
2024-10-17 09:57:32 -07: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
087c2b61ee
Update to the latest version of the spam filter
2024-10-09 09:37:07 -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
961d6d0a5c
Update to the latest version of the spam filter
2024-10-07 16:31:51 -04:00
Jon Chambers
f7aacefc40
Manage device linking tokens transactionally
2024-10-07 16:26:11 -04:00
Ravi Khadiwala
42e920cd5c
Add appstore subscriptions endpoint
2024-10-04 16:06:15 -05:00
ravi-signal
02ff3f2ff4
Add AppleAppStoreManager
2024-10-04 15:55:07 -05:00
Katherine
ca2845bcb0
Update key transparency gRPC client
2024-10-04 16:43:30 -04:00
Ravi Khadiwala
80cd5d9ccc
Increase message cache TTL to 46 days
2024-10-02 14:05:40 -05:00
Ravi Khadiwala
0eb7db8de5
Increase the linked device idle timeout to 45 days
2024-10-02 14:05:40 -05:00
Jon Chambers
100955a7db
Migrate WebSocket duration instrumentation to OpenWebSocketCounter
2024-10-02 14:02:03 -05:00
Chris Eager
68814813c3
Add timestamp header to all responses
2024-10-02 14:01:19 -05:00
Jon Chambers
39590f1b28
Update to the latest version of the spam filter
2024-10-01 14:27:06 -04:00
Jon Chambers
92698efd39
Remove machinery for setting/storing APNs VOIP tokens
2024-10-01 14:17:39 -04:00
Jon Chambers
b693cb98d0
Remove recurring background VOIP notification machinery
2024-10-01 14:17:39 -04: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
Ameya Lokare
1bb0eb0e70
Integer comparison of captcha scores
2024-10-01 08:42:12 -07:00
Jon Chambers
0a1161048f
Document ProvisioningController and ProvisioningConnectListener
2024-10-01 11:40:40 -04:00
Ameya Lokare
7a6ce00fed
Add senderType tag to sendMessageLatency timer
...
This will allow us to differentiate between sealed vs unsealed sends
latency
2024-09-27 17:35:20 -04:00
Jon Chambers
c0aa9ced8d
Temporarily disable AWS SDK instrumentation
2024-09-27 17:34:46 -04:00
Jon Chambers
6b36df3f8f
Remove unused imports/loggers
2024-09-27 17:34:46 -04:00
Jon Chambers
df3caeb04a
Expand the scope of the "notify idle devices" job to cover short-idle devices WITH messages
2024-09-27 16:30:51 -04:00
Jon Chambers
0e267509da
Add a method for checking for persisted urgent messages
2024-09-27 16:30:51 -04:00
Jon Chambers
bbe41278ed
Drop an unused hasCachedMessages method
2024-09-27 16:30:51 -04:00
Jon Chambers
d91a6b0c38
Retire the "notify idle devices with messages" experiment
2024-09-27 16:30:51 -04:00
Jon Chambers
694a93db6d
Explicitly look for sha256sum inputs via stdin
2024-09-27 09:39:19 -04:00
Ameya Lokare
2f2dec87b1
Update to the latest version of the spam filter
2024-09-26 13:03:05 -07:00
Ameya Lokare
098288c290
Update to the latest version of the spam filter
2024-09-26 12:56:09 -07:00
Chris Eager
ab2e6bb9a3
Use Mono.share() for mrmMessageMono
2024-09-26 14:48:06 -05:00
Chris Eager
513f19370a
Add Experiment#compareMonoResult
2024-09-26 14:48:06 -05:00
Chris Eager
e20a4c1f77
Refactor ProcessScheduledJobsServiceCommand to dispose of processing jobs on shutdown
2024-09-26 14:12:12 -05:00
Jon Chambers
946a486c4b
Add metric publishers to DynamoDB clients
2024-09-26 15:00:10 -04:00
Jon Chambers
78b40397f9
Simplify metric publisher lifecycles
2024-09-26 15:00:10 -04:00
Jon Chambers
48e8d1c12f
Add comments and constants to clarify the structure of metric collections
2024-09-26 15:00:10 -04:00
Jon Chambers
b115e95da4
Add an AWS SDK metric publisher
2024-09-26 15:00:10 -04:00
Chris Eager
ab0892cc41
Set executor shutdown time in ProcessScheduledJobsServiceCommand
2024-09-26 13:57:20 -05:00
Chris Eager
e25291c74c
Move MRM content parsing outside of “withBinaryClusterReactive”
2024-09-26 13:57:02 -05:00
Ravi Khadiwala
0e552bd602
Cancel play subscriptions when replacing them
2024-09-26 13:56:10 -05:00
Ameya Lokare
e9b3e15556
Return report spam token from spam check instead of separate call
2024-09-26 11:53:40 -07:00
Ravi Khadiwala
237d0fd4e2
remove HTTP layer exceptions from Stripe/Braintree managers
2024-09-24 17:22:38 -05:00
Ravi Khadiwala
50bd30fb1f
Fix cancelAtPeriodEnd calculation
2024-09-24 17:14:08 -05:00
Ravi Khadiwala
9fb4e2d272
set billingCycleAnchor in play billing responses
2024-09-24 17:14:08 -05:00
Jon Chambers
3e51366921
Narrow selection criterial for "notify idle devices with messages" experiment
2024-09-23 16:01:44 -04:00
Jonathan Klabunde Tomer
2d184b1ab6
return user's own username link handle in /whoami response
2024-09-23 12:46:10 -07:00
adel-signal
befcdf55fe
Balance TURN routing options across datacenters
2024-09-23 12:43:43 -07:00
Ravi Khadiwala
ba12d39121
URLEncode shortCode paths
2024-09-23 14:43:15 -05:00
Ravi Khadiwala
bf0f553ced
Don't return 204s as exceptions
...
The jersey LoggingExceptionMapper automatically adds an entity to
WebApplicationExceptions. Jersey's HTTP server later strips the body on
204 responses, but our custom WebSocketResourceProvider does not
2024-09-23 14:43:04 -05:00
Chris Eager
cd68a674bb
Update protobuf-java to 3.25.5
2024-09-23 08:43:55 -05:00
Jon Chambers
315fc00eac
Lazily evaluate jobs to give max concurrency meaningful "teeth"
2024-09-23 08:43:44 -05:00
Ameya Lokare
6142dcc7e6
Update to the latest version of the spam filter
2024-09-19 12:56:10 -07:00
Jonathan Klabunde Tomer
c47141ffda
yield json errors from 500s in sendMultiRecipientMessage
2024-09-19 12:36:52 -07:00
Jon Chambers
6c8566db60
Align "allocate device" and "verify device" default rate limits
2024-09-19 14:59:06 -04:00
Jonathan Klabunde Tomer
aa60fae3b1
install RateLimitByIpFilter in soft-enforcement mode
2024-09-18 15:38:21 -07:00
Ravi Khadiwala
8cb9c60a3c
Relax configured currency checks
2024-09-17 14:27:11 -05:00
Ameya Lokare
dd7a20a774
Log IOException from assessCaptcha
2024-09-17 12:01:13 -07:00
Chris Eager
374fe087bc
Use destination service ID from the envelope when removing views from shared MRM data
2024-09-16 13:19:11 -05:00
Chris Eager
11691c3122
Update fields in HCaptchaResponse
...
This reverts commit 8d129b10ca .
2024-09-16 13:12:36 -05:00
Chris Eager
8d129b10ca
Revert "Update field names in HCaptchaResponse"
...
This reverts commit 42d4574213 .
2024-09-13 15:28:42 -05:00
Katherine
d6e03f50b9
Fix bug in ignoring svr errors in account deletion flow
2024-09-13 12:28:31 -04:00
Chris Eager
f60c9f2a15
Use destination service ID from the envelope when looking up in shared MRM data
2024-09-13 11:21:18 -05:00
Chris Eager
1c617284f3
Add MRM views experiment to MessagesCache.getMessagesToPersist()
2024-09-13 11:21:18 -05:00
Chris Eager
5bc6ff0e77
Add check for existing key to MessagesCacheInsertSharedMultiRecipientPayloadAndViewsScript
2024-09-13 11:21:18 -05:00
Jonathan Klabunde Tomer
020c21f4ef
remove support for deprecated messages DynamoDB key schema
2024-09-13 09:18:41 -07:00
Katherine
bd57c1c7e7
Introduce configurable way to ignore SVR errors in the account deletion flow
2024-09-13 10:57:09 -04:00
Katherine Yen
f4b94a7a89
Update to the latest version of the spam filter
2024-09-13 10:55:35 -04:00
ravi-signal
b666b66160
Add missing @Valid annotations
2024-09-13 10:54:32 -04:00
ameya-signal
8bafb1a641
Update code style in MessageController.sendMessage()
2024-09-13 10:53:40 -04:00
Chris Eager
42d4574213
Update field names in HCaptchaResponse
2024-09-13 10:53:23 -04:00
Alex Konradi
9ef6f8aec9
Add a metric for requests of ZKC auth credentials
2024-09-13 10:53:04 -04:00
Jon Chambers
556eec649d
Add platform and push token presence dimensions to account creation metrics
2024-09-06 12:37:23 -05:00
Ameya Lokare
e160025cfc
Clean up OpenAPI annotations on PUT /v1/challenge
...
* Remove 413 response since we no longer send it
* Add missing 428 response for when invalid captcha is submitted
2024-09-06 10:36:02 -07:00
Chris Eager
0602149c52
Skip removeRecipientViewFromMrmData pipeline if there are no keys
2024-09-06 12:35:03 -05:00
Chris Eager
ad17c6e40d
Wait for MRM experiment mono to complete before returning default message
2024-09-05 18:02:33 -05:00
Chris Eager
b95a766888
For ephemeral messages, remove recipient view from shared MRM data if recipient is offline
2024-09-05 18:02:33 -05:00
Chris Eager
a0770db179
Add timer to removeRecipientViewFromMrmData
2024-09-05 18:02:33 -05:00
Ameya Lokare
0601f6a35c
Update to the latest version of the spam filter
2024-09-04 16:21:37 -07:00
Ameya Lokare
d6acfa56c2
Add platform tag to invalid HCaptcha reason metric
2024-09-04 15:28:36 -07: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
Chris Eager
d78c8370b6
Add timer to removeByGuid script
2024-09-03 12:33:39 -04:00
Jon Chambers
0b752409d5
Update to the latest version of the spam filter
2024-09-03 12:32:08 -04:00
Jon Chambers
46e0f5da74
Fix swapped placeholders in a log message
2024-08-30 17:01:11 -04:00
Jon Chambers
d835a2a450
Update to the latest version of the spam filter
2024-08-30 16:38:13 -04:00
Jon Chambers
f09cc03164
Detect message delivery loops
2024-08-30 16:27:21 -04:00
Jon Chambers
4c628b1cd9
Change the range for the "notify idle devices without messages" job to 30–45 days
2024-08-30 16:24:39 -04:00
Chris Eager
5122271750
Configure keyspace notifications in LocalFaultTolerantRedisClusterFactory
2024-08-30 13:00:31 -05:00
ravi-signal
7df978390f
Add playProductId to backup level configuration
2024-08-30 12:59:09 -05:00
ravi-signal
564dba3053
Add playbilling endpoint to /v1/subscriptions
2024-08-30 12:50:18 -05:00
Ravi Khadiwala
3b4d445ca8
Don't try to update a cancelled stripe subscription
2024-08-30 12:47:26 -05:00
ravi-signal
176a15dace
Add GooglePlayBillingManager
2024-08-28 14:22:37 -05:00
Jonathan Klabunde Tomer
9249cf240e
Update to the latest version of the spam filter
2024-08-21 14:53:28 -07:00
Jonathan Klabunde Tomer
a049eda7e6
remove configuration for no-longer-used "metrics" redis cluster
2024-08-21 14:49:05 -07:00
Katherine
9eafa118d5
Return key transparency protobufs encoded as base64 strings
2024-08-21 17:08:06 -04:00
Katherine
8699d94de6
Give mock devices unique IDs when testing whether a capability is supported
2024-08-21 11:40:02 -04:00
Katherine
4c0a5ac3b2
Add versionedExpirationTimer capability
2024-08-21 11:39:43 -04:00
Ameya Lokare
fa51793379
Update to the latest version of the spam filter
2024-08-20 10:49:25 -07:00
Ameya Lokare
8b99df3169
Update to the latest version of the spam filter
2024-08-19 11:43:50 -07:00
Ameya Lokare
7cbbf73cc9
Add registration recovery checker
2024-08-19 11:43:19 -07:00
Jon Chambers
0b1ec1e50b
Make push notification senders available via CommandDependencies
2024-08-16 16:52:07 -04:00
Jon Chambers
2744d33ef8
Update to the latest version of the spam filter
2024-08-16 16:17:55 -04:00
Jon Chambers
659ac2c107
Generalize push notification scheduler and add support for delayed "new messages" notifications
2024-08-16 16:16:55 -04:00
Jon Chambers
5892dc71fa
Allow linked devices to unlink themselves via the gRPC API
2024-08-16 16:14:13 -04:00
Jon Chambers
fc3e547dce
Remove an obsolete client version check when changing phone numbers
2024-08-16 16:14:00 -04:00
Ravi Khadiwala
e4f9f949f0
Serialize subscription errors as json
2024-08-15 18:30:48 -05:00
Fedor Indutny
7605462d48
Allow device to unlink itself
2024-08-15 13:54:07 -05:00
Ravi Khadiwala
fd10b9723d
Add source length validation on backup media copy
2024-08-15 13:52:50 -05:00
Ravi Khadiwala
6cdfb7ab63
Reject authenticated one-time donation requests
2024-08-15 13:51:55 -05:00
Ravi Khadiwala
e5fdab1bc8
Return 400 if a client specifies paypal where it's not supported
2024-08-15 13:49:25 -05:00
Katherine
2aa1eee29d
Align chat endpoints with "distinguished key" changes in key transparency service
2024-08-15 14:35:15 -04:00
Ravi Khadiwala
97e566d470
Move common subscription management out of controller
2024-08-15 13:29:26 -05:00
ravi-signal
a8eaf2d0ad
Group one-time donation methods together
2024-08-15 13:25:09 -05:00
Ravi Khadiwala
b5f9564e13
Validate that sourceAttachments are valid base64 strings
2024-08-14 17:36:30 -05:00
Jon Chambers
7e353f8ea0
Update to the latest version of the spam filter
2024-08-14 12:52:57 -04:00
Jon Chambers
0075e94a42
Rename AuthenticatedAccount to AuthenticatedDevice
2024-08-14 12:44:48 -04:00
Katherine
1ea9e38fea
Use a separate virtual executor instead of the one used for async jersey tasks
2024-08-14 12:28:16 -04:00
Jon Chambers
3b405a53d0
Move "push notifications on close" logic to WebSocketConnection
2024-08-14 12:24:49 -04:00
Katherine
84c329e911
Key transparency search and monitor endpoints
2024-08-12 13:14:42 -07:00
Jonathan Klabunde Tomer
4349ceaf0e
Update to the latest version of the spam filter
2024-08-12 11:49:18 -07:00
Ravi Khadiwala
acdf37561f
Count requests that supply auth to boost endpoints
2024-08-12 13:40:58 -05:00
Jon Chambers
9128d4cc49
Correct a counter name
2024-08-12 14:39:31 -04:00
Jon Chambers
206e97d374
Use queries instead of scans when fetching experiment samples (again)
2024-08-12 14:39:22 -04:00
Jonathan Klabunde Tomer
f682af2fe0
build a multi-architecture docker manifest list
2024-08-12 11:38:59 -07:00
Jon Chambers
ecf7e60d98
Add an experiment for sending push notifications to idle devices that DO have pending messages
2024-08-07 16:41:19 -04:00
Ravi Khadiwala
68ddc070ca
Count old version authentication tokens
2024-08-07 15:41:08 -05:00
Ameya Lokare
d661da8d7e
Update to the latest version of the spam filter
2024-08-06 15:37:09 -07:00
Jonathan Klabunde Tomer
5d2e8cb000
update to libsignal 0.54.2
2024-08-06 14:18:14 -07:00
Ravi Khadiwala
096bb8e6e5
Remove deprecated SubscriptionController methods
2024-08-06 16:09:44 -05:00
Jon Chambers
1af8bb494e
Generalize "is idle?" check in idle device notification scheduler
2024-08-05 15:19:39 -04:00
Jon Chambers
46d04d9d1a
Add a command to schedule notifications for idle devices without messages
2024-08-05 15:19:39 -04:00
Jon Chambers
c0ca4ffbcc
Retire "notify idle devices without messages" push notification experiment
2024-08-05 15:19:39 -04:00
Katherine Yen
8720b6db95
Update to the latest version of the spam filter
2024-08-05 12:11:40 -07:00
Jon Chambers
8c61d45206
Tune the "finish push notification experiment" command
2024-08-05 15:02:24 -04:00
Katherine
0e4625ef88
Migrate to 429 for all ratelimit responses
2024-08-05 12:02:11 -07:00
Ravi Khadiwala
10d559bbb5
Return backup info at /v1/subscription/configuration
...
- Return the free tier media duration and storage allowance for backups
- Add openapi annotations
- Update default media storage allowance
2024-08-02 14:08:00 -05:00
Jonathan Klabunde Tomer
65b2892de5
Simplify unlink-device-on-full-DB process
2024-08-02 12:03:43 -07:00
Chris Eager
6fa6c3c81c
Ensure multi-recipient messages are addressed to ACI service IDs
2024-08-01 12:31:27 -05:00
Chris Eager
e4ffc932a9
Check for IdentityType.PNI in OptionalAccess#verify
2024-08-01 12:31:27 -05:00
Ameya Lokare
8afc0e6ab2
Update to the latest version of the spam filter
2024-07-31 12:34:54 -07:00
Jon Chambers
822092044b
Add a method to check for the presence of persisted messages, skipping the cache
2024-07-31 10:50:47 -04:00
Jon Chambers
f1c153f39f
Log max concurrency when starting/finishing experiments
2024-07-31 10:50:31 -04:00
Jon Chambers
7e62dc64dc
Replace filterWhen with flatMap
2024-07-31 10:50:31 -04:00
Jon Chambers
2104a60703
Also check legacy parittion keys for message presence
2024-07-31 10:50:19 -04:00
Jon Chambers
97785fa570
Remove unused metrics and arguments
2024-07-31 10:50:19 -04:00
Chris Eager
9341fe9584
Add endpoint tag and story to auth type tag values
2024-07-31 09:38:14 -05:00
Ravi Khadiwala
3a582721cf
Throw error for oversized inbound noise messages
2024-07-30 11:25:09 -05:00
Ravi Khadiwala
3d96d73169
Break up large outbound noise messages
2024-07-30 11:25:09 -05:00
Ravi Khadiwala
542422b7b8
Replace XX/NX handshakes with IK/NK
2024-07-30 11:25:09 -05:00
Jon Chambers
c835d85256
Drop opentest4j from dependency management
2024-07-30 12:24:26 -04:00
Jon Chambers
56ada7f0e9
Add a "dry run" mode for the "start push notification experiment" command
2024-07-30 12:19:00 -04:00
Jon Chambers
56fdebde75
Check for cached/persisted messages in parallel
2024-07-30 12:18:46 -04:00
Jon Chambers
4ee67064bb
Remove a pair of unused methods
2024-07-30 12:18:34 -04:00
Jon Chambers
045ec9689d
Introduce a job scheduler and experiment for sending notifications to idle devices
2024-07-29 11:16:53 -04:00
Jon Chambers
4ebad2c473
Add a framework for running experiments to improve push notification reliability
2024-07-25 11:36:05 -04:00
Jonathan Klabunde Tomer
1fe6dac760
read old new key and new new key
2024-07-24 07:44:44 -07:00
Jonathan Klabunde Tomer
f12a6ff73f
Remove migration paths for lazy message deletion
2024-07-23 14:07:19 -07:00
Chris Eager
6eed458ceb
Use server timestamp for delivery duration metrics
2024-07-18 12:22:59 -05:00
Jon Chambers
54fb0a6acb
Add a general job scheduler
2024-07-18 13:22:31 -04:00
Jon Chambers
5147d9cb6d
Mark old attachment endpoints as @Deprecated
2024-07-17 15:01:44 -04:00
Jon Chambers
37369929f3
Retire PushLatencyManager
2024-07-17 15:01:23 -04:00
Jon Chambers
4f10014902
Add an "is primary" dimension to message latency measurements
2024-07-17 15:01:08 -04:00
Ravi Khadiwala
0ef3e00ba7
Use non-legacy rate limit error in BackupAuthManager
2024-07-11 16:39:11 -05:00
Chris Eager
2408590430
Update GitHub Actions
2024-07-11 16:38:15 -05:00
Chris Eager
b7f4fe4d73
Update various dependencies
2024-07-11 16:38:15 -05:00
Chris Eager
b811492acd
Update maven-wrapper.properties
2024-07-11 16:38:15 -05:00
Chris Eager
a63e0e0390
Remove unused RateLimiters
2024-07-11 16:37:55 -05:00
Jon Chambers
5e8a0b2cfa
Introduce a utility class for finding reasonable times to send push notifications
2024-07-11 17:36:54 -04:00
Chris Eager
eac75aad03
Add distribution of multi-recipient message recipient counts
2024-07-09 15:04:47 -05:00
Chris Eager
b05fbc2102
Add metric for group send token adoption
2024-07-09 15:04:12 -05:00
Jon Chambers
6d166fdfc5
Return futures from "send push notification" operations
2024-07-08 15:36:17 -04:00
Ravi Khadiwala
2e36673702
Add warn log if changeNumber messages fail
2024-07-08 15:28:08 -04:00
ravi-signal
0c81ffe8b7
Count unregistered APNS tokens with a recent update
2024-07-08 15:27:48 -04:00
Jon Chambers
02b9ceb4c7
Discard APNs tokens if the APNs server reports that the token is expired
2024-07-08 15:27:23 -04:00
Chris Eager
775889c0b6
Remove deprecated PUT /v2/keys/signed endpoint
2024-07-08 15:26:26 -04:00
Chris Eager
98f2cdaf5a
Reduce DynamoDB test client API timeouts
2024-07-08 15:26:11 -04:00
Jon Chambers
ff5cc3cb4f
Avoid duplicate metric registry configuration in commands
2024-07-08 15:25:16 -04:00
Jon Chambers
ebecb1caec
Throw an exception if metric registries are configured more than once
2024-07-08 15:25:16 -04:00
Jon Chambers
73e0aea85c
Retire Device#hasMessageDeliveryChannel()
2024-06-26 14:46:39 -04:00
Ameya Lokare
1a09f5807b
Update to the latest version of the spam filter
2024-06-26 11:45:58 -07:00
Ameya Lokare
ec009a2bba
Pass AccountAndAuthenticatedDeviceHolder to spam filter
2024-06-26 11:32:49 -07:00
Jon Chambers
f52c40a492
Update to the latest version of the spam filter
2024-06-25 11:57:37 -04:00
Jon Chambers
1959c059ed
Rename AuthEnablementRefreshRequirementProvider to LinkedDeviceRefreshRequirementProvider
2024-06-25 11:57:25 -04:00
Jon Chambers
2d1610b075
Stop monitoring device "enabled" state changes from auth enablement refresh requirement provider
...
Device enabled states no longer affect anything at an authentication level
2024-06-25 11:57:25 -04:00
Jon Chambers
2f76738b50
Expire APNs tokens if they haven't been updated since the expiration timestamp
2024-06-25 11:53:23 -04:00
Jon Chambers
1cf174a613
Include "token invalidation timestamp" in push notification responses
2024-06-25 11:53:23 -04:00
Jon Chambers
d743454d07
Store updated APNs tokens unconditionally
2024-06-25 11:53:23 -04:00
Jon Chambers
1cd16eaa08
Delete FCM tokens immediately if FCM reports that they're no longer active
2024-06-25 11:53:23 -04:00
Jon Chambers
90e622b307
Require that message bundles include all linked devices
2024-06-25 11:51:09 -04:00
Jon Chambers
cb5cd64c05
Gracefully handle NotPushRegisteredException
2024-06-25 11:23:16 -04:00
Jon Chambers
2619569549
Update to the latest version of the spam filter
2024-06-25 09:57:32 -04:00
Jon Chambers
d306cafbcc
Allow, but do not require, message delivery to devices without active delivery channels
2024-06-25 09:53:31 -04:00
Jon Chambers
f5ce34fb69
Update to the latest version of the spam filter
2024-06-24 15:41:11 -04:00
Jon Chambers
dbeba4f173
Reduce "delete after idle" time for accounts from 180 days to 120 days
2024-06-24 15:20:35 -04:00
Jon Chambers
86f83635bc
Document a missing "capability downgrade" response
2024-06-24 15:20:06 -04:00
Jon Chambers
fceda00d83
Consider all device when checking device capabilities
2024-06-24 15:20:06 -04:00
Jon Chambers
9b7af00cf5
Add methods to test whether a device may have unread messages
2024-06-24 15:19:48 -04:00
Chris Eager
fa1281ae86
Update maven plugin versions
2024-06-24 14:16:05 -05:00
Chris Eager
f5de4d7b71
Update various library dependencies
2024-06-24 14:16:05 -05:00
Chris Eager
1134df88e2
Remove obsolete "recaptcha"
2024-06-24 14:15:27 -05:00
ravi-signal
4aadabfac0
Make copy/delete streaming friendly
2024-06-20 16:00:09 -05:00
Jon Chambers
c27898a993
Update to the latest version of the spam filter
2024-06-20 11:36:00 -04:00
Ravi Khadiwala
daa897db93
Add some extra validation in integration tests
2024-06-18 15:29:58 -05:00
Jon Chambers
7a907bb44d
Update to the latest version of the spam filter
2024-06-14 15:01:37 -04:00
Jon Chambers
d7cb219577
Update to the latest version of the spam filter
2024-06-14 11:03:42 -04:00
Jon Chambers
b28f8b0e7f
Update to the latest version of the spam filter
2024-06-14 10:34:37 -04:00
Jon Chambers
51721dde50
Update to the latest version of the spam filter
2024-06-13 14:40:35 -04:00
Jon Chambers
09547ba788
Update to the latest version of the spam filter
2024-06-13 10:39:11 -04:00
Jon Chambers
3dc8acc385
Update to the latest version of the spam filter
2024-06-13 09:10:30 -04:00
Katherine
0414da8c32
Add delete sync capability
2024-06-12 13:54:06 -04:00
Jon Chambers
155450380e
Fix weird indentation
2024-06-12 13:53:48 -04:00
Jon Chambers
09bc4ef1d6
Measure sizes of group messages
2024-06-12 13:53:48 -04:00
Jon Chambers
3aa4d8713c
Switch to a remote-aggregated distribution for message size metrics
2024-06-12 13:53:48 -04:00
Jon Chambers
5fc926271f
Remove a metrics tag for "has spam reporting token"
2024-06-12 13:53:33 -04:00
Katherine
f435b612c9
Remove stale pni, pnp, and giftBadges capabilities
2024-06-12 13:42:18 -04:00
Jon Chambers
5b78c0d3e0
Update to the latest version of the spam filter
2024-06-10 17:21:04 -04:00
Jon Chambers
6a14bf70e0
Extend push token removal grace period from 3 days to 14
2024-06-10 17:16:49 -04:00
Jon Chambers
138b368951
Add an explicit "incorrect password" authentication failure reason
2024-06-10 17:16:32 -04:00
Jon Chambers
0871d6ebc1
Add a log filter for spurious warnings about unsupported channel options
2024-06-10 17:16:10 -04:00
Jon Chambers
ad5ef76e8e
Update to the latest version of the spam filter
2024-06-10 11:20:52 -04:00
Jon Chambers
2f55747601
Remove expiration check from Device#isEnabled()
2024-06-07 10:39:11 -07:00
Jonathan Klabunde Tomer
b376458963
include deleted-messages counter on both message deletion paths
2024-06-07 10:24:42 -07:00
Jon Chambers
64ac22a918
Resolve warnings/suggestions throughout MessageControllerTest
2024-06-06 14:11:44 -04:00
Alan Liu
ffb81e4ff7
Retrieve Cloudflare Turn Credentials from Cloudflare
2024-06-05 12:03:40 -04:00
Jonathan Klabunde Tomer
01743e5c88
Delete messages lazily on account and device deletion to prevent timeouts when deleting accounts/devices with large queues
2024-06-04 12:16:43 -07:00
Ameya Lokare
4ef6266e8f
Update spam-filter to the latest version
2024-06-03 15:33:25 -07:00
Ameya Lokare
478a8362b8
Update to the latest version of the spam filter
2024-06-03 12:17:02 -07:00
ravi-signal
afa1899dc9
Add a require.proto presence annotation
2024-06-03 14:07:02 -05:00
Ravi Khadiwala
cea2abcf6e
Fix some accidentally sync async methods
2024-06-03 14:07:02 -05:00
Jonathan Klabunde Tomer
c7d1ad56ff
support local-filesystem-based dynamic config for tests
2024-05-31 15:25:47 -07:00
ravi-signal
a5f490cc53
return nonzero exit code when check-dynamic-config fails
2024-05-30 16:21:51 -05:00
ravi-signal
abe29fa6ee
document gRPC error strategy
2024-05-30 16:20:34 -05:00
Chris Eager
f6d1e566e7
Add validation annotations to DynamicExperimentEnrollmentConfiguration
2024-05-24 09:11:48 -04:00
Jon Chambers
9ec4f0b2f5
Gracefully handle proxy protocol messages at the beginning of TCP connections
2024-05-24 09:11:19 -04:00
Ameya Lokare
1678045ce4
Update to the latest version of the spam filter
2024-05-23 10:29:53 -07:00
Chris Eager
7286e724dc
Add SIGNAL_SERVER_CONFIG override to LocalWhisperServerService
2024-05-23 12:08:48 -05:00
Jon Chambers
e59a1e9efd
Add support for TLS 1.2 for the benefit of load balancers performing health checks
2024-05-23 08:31:23 -04:00
Jon Chambers
097bedcb9b
Add a health check handler to the Noise-over-WebSocket pipeline
2024-05-22 14:46:05 -04:00
Jon Chambers
907ff89011
Use complete certificate chains from the TLS keystore
2024-05-22 12:38:29 -04:00
Chris Eager
08faa0c009
Only register metrics for connections to upstream nodes
2024-05-22 11:17:52 -05:00
Ravi Khadiwala
dd4759487b
Specify AuthCheckResponseV3 serialization
2024-05-22 09:42:05 -04:00
Jon Chambers
7980da9ce5
Set client public keys in the scope of a pessimistic account lock
2024-05-22 09:40:48 -04:00
Jon Chambers
0e43524dac
Remove client public keys when deleting accounts/devices
2024-05-22 09:40:48 -04:00
Jon Chambers
c5c5f642e8
Configure and instantiate a Noise-over-WebSocket tunnel
2024-05-22 09:37:25 -04:00
Jon Chambers
e096c608ee
Make Noise-over-WebSocket component names more consistent
2024-05-22 09:37:25 -04:00
Jon Chambers
9a2bfe1180
Add a plaintext mode to the Noise-over-WebSocket server for local testing
2024-05-22 09:25:28 -04:00
Ravi Khadiwala
9e36cabef0
Update to the latest version of the spam filter
2024-05-17 11:20:27 -05:00
ravi-signal
ce1c5be940
Add svr3 share-set store/retrieve
2024-05-17 10:45:18 -05:00
Ravi Khadiwala
1182d159aa
Move command boilerplate into a base class
2024-05-17 10:44:58 -05:00
Ravi Khadiwala
7d95926f02
Add a crawler for backup usage metrics
2024-05-17 10:38:00 -05:00
Jon Chambers
101ecf342f
Remove now-unused rate limiters
2024-05-16 16:56:42 -05:00
Jon Chambers
4efba94662
Add an API endpoint for storing public keys
2024-05-16 17:53:16 -04:00
Ravi Khadiwala
1855d661e8
Add maximum length to ProvisioningMessage
2024-05-16 16:47:47 -05:00
Ravi Khadiwala
438abc4cf9
Remove unused entity
2024-05-16 16:47:47 -05:00
Ravi Khadiwala
40639f70f4
Fix flaky MessageMetricsTest
...
Make the MeterRegistry in MessageMetrics configurable
2024-05-16 13:39:17 -05:00
Ravi Khadiwala
a80c020146
Remove AssignUsernameCommand
2024-05-13 16:43:02 -05:00
Ravi Khadiwala
2ce3270d21
Update docker container image
2024-05-13 16:39:54 -05:00
Ravi Khadiwala
4d8fe0b6b2
Fix a flaky test
2024-05-07 13:52:35 -05:00
Max Moiseev
411087ff1a
Add a testcase with real libsignal User Agent
2024-05-07 14:51:01 -04:00
ravi-signal
10bb2a6a10
Add finer grain rollouts to experiments
2024-05-06 13:28:32 -05:00
Ravi Khadiwala
7aff81547a
Manage some unmanaged executors
2024-05-06 13:25:18 -05:00
Ravi Khadiwala
fc097db2a0
Use storage-manager's copy implementation
2024-05-06 13:15:42 -05:00
Alan Liu
843151859d
Adding hostname property to cloudflare turn config
2024-05-02 12:35:32 -07:00
adel-signal
854ab353b3
calling: update TurnCallRouter to shuffle instance IPs to prevent allocation skew
...
Co-authored-by: Jonathan Klabunde Tomer <125505367+jkt-signal@users.noreply.github.com>
2024-05-02 12:34:34 -07:00
Ameya Lokare
cc6ec1d351
Update to the latest version of the spam filter
2024-05-02 12:24:54 -07:00
Chris Eager
cf307db31d
Update JsonMappingExceptionMapper “Early EOF” logic
2024-05-01 10:31:11 -05:00
Chris Eager
dcfca4d95e
Update to the latest version of the spam filter
2024-05-01 10:30:53 -05:00
Chris Eager
567c368a81
Add DiscoverableSubtypeResolver to static YAML_MAPPER
2024-05-01 10:21:55 -05:00
Chris Eager
223b2fc263
Add javax.validation.Validator to SpamFilter#configure
2024-05-01 10:21:55 -05:00
Chris Eager
4a28ab6317
Add support to trial Cloudflare TURN beta
2024-05-01 10:15:01 -05:00
Chris Eager
0986ce12e6
Validate integration test Config
2024-05-01 10:11:15 -05:00
Ravi Khadiwala
37aa3b8e49
Default to 0 usedBytes in GET /v1/archives
2024-05-01 10:10:46 -05:00
Chris Eager
d7f14339fe
Update to the latest version of the spam filter
2024-04-29 11:18:23 -05:00
Chris Eager
0e4be0c85a
Add tests for WhisperServerService#run
...
Additionally, `LocalWhisperServerService` may be used for integration testing.
2024-04-29 11:05:35 -05:00
Jon Chambers
b6f8bca361
Update to the latest version of the spam filter
2024-04-26 15:59:32 -04:00
Jon Chambers
354c72968e
Update to the latest version of the spam filter
2024-04-26 15:37:04 -04:00
Jon Chambers
9d3e3c7312
Use a common utility for turning Google API futures into CompletableFutures
2024-04-26 15:27:59 -04:00
Ravi Khadiwala
88e2687e23
Add a check for missing uak in OptionalAccess
2024-04-26 15:24:54 -04:00
Ravi Khadiwala
19944bfdb2
Update to libsignal 0.45 and use libsignal's BackupLevel
2024-04-25 16:54:41 -05:00
Ravi Khadiwala
c8efcf5105
Don't map a Mono<Void>
2024-04-25 16:47:34 -05:00
Jon Chambers
7f6da52349
Publish donation events for immediately-successful donations
2024-04-24 13:16:37 -04:00
Jon Chambers
8999f0104f
Trigger pub/sub events for one-time donations via Braintree (PayPal)
2024-04-24 09:19:21 -04:00
Jon Chambers
516c481e94
Pass a CurrencyConversionManager to BraintreeManager
2024-04-24 09:19:21 -04:00
Jon Chambers
3266c2cd8f
Add cloud pubsub as a dependency
2024-04-24 09:19:21 -04:00
Jonathan Klabunde Tomer
f0dcd8e07b
Group Send Endorsement support for unversioned profile fetch
2024-04-23 14:58:19 -07:00
ravi-signal
9ef1fee172
Add DELETE v1/archives
2024-04-23 16:50:11 -05:00
Jonathan Klabunde Tomer
b3bd4ccc17
simplify profile auth
2024-04-23 14:49:04 -07:00
Chris Eager
fba7686390
Remove shard tag from Lettuce circuit breaker metrics
2024-04-23 16:00:46 -05:00
Ameya Lokare
2d314e5309
Minor: Return exception instead of throwing it in .orElseThrow()
...
Gets rid of an IntelliJ warning about it. No difference in behavior, there is
a test that already covers this path.
2024-04-22 09:32:12 -04:00
Jon Chambers
ed72d7f9ec
Attach client platforms when creating donations
2024-04-22 09:31:57 -04:00
Jonathan Klabunde Tomer
b8f64fe3d4
Group Send Endorsement support for pre-key fetch endpoint
2024-04-19 15:40:46 -07:00
Chris Eager
ab64828661
Update custom Gauges to Micrometer MeterBinders
2024-04-17 17:43:34 -05:00
Chris Eager
10dfa18e81
Update to the latest version of the spam filter
2024-04-17 15:53:12 -05:00
Chris Eager
a38bf25e68
Migrate remaining custom metrics from Dropwizard to Micrometer
...
And remove some that are obsolete or duplicative.
2024-04-17 15:35:04 -05:00
Ameya Lokare
419ec6e308
Update to the latest version of the spam filter
2024-04-17 10:14:45 -07:00
Jonathan Klabunde Tomer
ada589d0c3
accept Group Send Endorsements for single-recipient message send
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2024-04-16 15:06:40 -07:00
Chris Eager
7068d27a8b
Update to the latest version of the spam filter
2024-04-16 12:30:14 -05:00
Chris Eager
a302275187
Use a single cluster instance in MessagesCache
2024-04-16 12:04:18 -05:00
Chris Eager
b734d58ab7
Coalesce all Redis clusters to per-shard circuit breakers
2024-04-16 12:04:18 -05:00
Ravi Khadiwala
2046b02bd8
Rename RedeemReceiptRequest to help openapi
2024-04-16 11:16:18 -05:00
Chris Eager
1df824db7c
Remap some JsonMappingExceptions to 408 and 400
2024-04-15 16:01:09 -05:00
Chris Eager
9cad2c6b7d
Improve test Redis cluster setup and teardown
2024-04-15 15:58:23 -05:00
Chris Eager
82881c030a
Update to the latest version of the spam filter
2024-04-15 14:13:09 -05:00
ravi-signal
00ca7d5942
Add cdn number query parameter to /archives/auth/read
2024-04-15 13:59:14 -05:00
ravi-signal
d36df3eaa9
Add new upload-for-copy backup endpoint
2024-04-15 13:47:46 -05:00
ravi-signal
e5d654f0c7
Add /v1/archives/redeem-receipt
2024-04-15 13:47:02 -05:00
Chris Eager
fc1f471369
Use per-shard circuit breakers for additional Redis clusters
2024-04-15 13:45:24 -05:00
Ameya Lokare
be6f4e38b8
Update to the latest version of the spam filter
2024-04-12 11:29:18 -07:00
Chris Eager
faa8674f39
Update to the latest version of the spam filter
2024-04-12 11:34:39 -05:00
Chris Eager
2dc707d86e
Add per-shard Redis circuit breakers
2024-04-12 11:22:41 -05:00
Chris Eager
05a92494bb
Remove X-Forwarded-For from RemoteAddressFilter
2024-04-11 11:03:37 -05:00
Alex Konradi
39fd955f13
Allow clients to request zkc-based auth creds
...
Allow clients to pass a zkcCredential=true query parameter to request the new
auth credential format implemented with the zkcredential Rust library.
2024-04-11 11:00:10 -05:00
ravi-signal
4863e1d227
Add backup levels to subscription configuration response
2024-04-11 10:58:40 -05:00
Jonathan Klabunde Tomer
44ad9d4f5f
Update to the latest version of the spam filter
2024-04-10 16:52:28 -07:00
Jonathan Klabunde Tomer
2b652fe2a9
accept group send endorsements for multi-recipient sends
2024-04-10 16:51:09 -07:00
Ravi Khadiwala
cdd2082b07
Decrease logging level in RemoveExpiredBackupsCommand
2024-04-10 18:41:29 -05:00
Chris Eager
5c74aed8f6
Update to the latest version of the spam filter
2024-04-04 16:37:27 -05:00
Chris Eager
5b97bc04e0
Add ExternalRequestFilter
2024-04-04 16:24:20 -05:00
Ravi Khadiwala
63c8b275d1
Return 401 instead of 404 on unknown backup-ids
2024-04-04 10:56:48 -05:00
Ravi Khadiwala
1ebc17352f
Check presentation before verifying the signature
2024-04-04 10:56:48 -05:00
Ravi Khadiwala
268c8382ee
Fix Backup expiration purge time
2024-04-04 10:55:55 -05:00
ravi-signal
498dcbbfe8
Make media encrypter stream ordered
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2024-04-04 10:53:45 -05:00
Ravi Khadiwala
3a1ecb342f
allow striping clients in FaultTolerantHttpClient
2024-04-04 10:47:34 -05:00
ravi-signal
bb0da69c9e
Set the shutdown gauge earlier in the shutdown process
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2024-04-02 09:39:55 -05:00
Jon Chambers
796dce3cd3
Always use the "peek" strategy for counting one-time pre-keys
2024-04-02 10:31:20 -04:00
Jon Chambers
f59c34004d
De-idiom-ize a "wait for everything to finish" idiom
2024-04-02 10:30:44 -04:00
Ameya Lokare
c4cbf0d618
Update to the latest version of the spam filter
2024-04-01 15:09:44 -07:00
Katherine
d002e5dda8
Hardcode paymentActivation flag to true
2024-04-01 15:07:11 -07:00
Chris Eager
a9d0ab271d
Update embedded-redis to 0.9.0
2024-04-01 17:06:55 -05:00
Chris Eager
89cb821c97
Remove vavr dependency
2024-04-01 17:06:55 -05:00
Chris Eager
ef8c520b59
Update reactor-bom to 2023.0.4
2024-04-01 17:06:55 -05:00
Chris Eager
8897fd75ad
Update push to 0.15.4
2024-04-01 17:06:55 -05:00
Chris Eager
fd748c1dc3
Update netty to 4.1.108.Final
2024-04-01 17:06:55 -05:00
Chris Eager
c95dbf7508
Update resilience4j to 2.2.0
2024-04-01 17:06:55 -05:00
Chris Eager
ed64c38950
Update Micrometer to 1.12.4
2024-04-01 17:06:55 -05:00
Chris Eager
0b5be8cdcd
Update Lettuce to 6.3.2.RELEASE
2024-04-01 17:06:55 -05:00
Chris Eager
fcc77052a6
Add org.eclipse.jetty.io.EofException to expected measureSendMessageErrors
2024-04-01 17:06:29 -05:00
Ravi Khadiwala
831c9ff5bf
Make backupDir/mediaDir indirect
2024-04-01 13:45:21 -05:00
Ravi Khadiwala
de37141812
Add a crawler that expires old backups
2024-04-01 13:45:21 -05:00
Ameya Lokare
c35a648734
Update to the latest version of the spam filter
2024-03-27 15:44:31 -07:00
Ravi Khadiwala
a550caf63f
Make sure we close the HTTP/2 stream after cdn read errors
2024-03-27 17:00:37 -05:00
Ravi Khadiwala
de9eaa98db
404 instead of 400 on unknown source cdn
2024-03-27 17:00:37 -05:00
ravi-signal
37b657cbbd
avoid baos::writeTo on virtual threads
2024-03-27 16:58:38 -05:00
Jon Chambers
a733f5c615
Add debugging context to signature validation failures
2024-03-27 17:58:02 -04:00
Jon Chambers
8a587d1d12
Rename NoiseStreamHandler to NoiseTransportHandler for consistency with Noise specification terminology
2024-03-27 17:57:46 -04:00
Chris Eager
75bb22f08b
Include HTTP2ServerConnectionFactory in JettyHttpConfigurationCustomizer
2024-03-27 16:56:19 -05:00
Jon Chambers
d10da39e5b
Pare back debug-oriented metrics around fetching pre-keys
2024-03-26 16:44:34 -04:00
adel-signal
54e9b839bd
update TurnTokenGenerator to add whether this is with ip or url turn allocation
2024-03-26 13:40:53 -07:00
Jon Chambers
aec6ac019f
Introduce a Noise-over-WebSocket client connection manager
2024-03-22 15:20:55 -04:00
Ravi Khadiwala
075a08884b
Preserve backupCredentialRequest across rereg
2024-03-22 14:19:35 -05:00
Jon Chambers
6fcb2ab5dd
Remove username phased rollout plumbing (usernames are now available to everybody)
2024-03-21 13:42:20 -04:00
ameya-signal
7f0f045f29
Minor cleanup of report spam endpoint ( #1979 )
2024-03-21 10:41:25 -07:00
Ravi Khadiwala
e7d1eadf8e
Fix experiments in BackupAuthManager
2024-03-20 11:43:07 -05:00
Chris Eager
a9b5359f7c
Update to the latest version of the spam filter
2024-03-19 13:32:33 -05:00
Chris Eager
9df6e19204
Ignored EofException response failure in MetricsHttpChannelListener
2024-03-18 17:38:19 -05:00
Chris Eager
5eaae184c9
Set request failure to debug in MetricsHttpChannelListener
2024-03-18 17:38:19 -05:00
Chris Eager
459882e6fa
Add JettyHttpConfigurationCustomizer
2024-03-18 17:38:19 -05:00
Chris Eager
2c2b5d555e
Rename obsolete uses of recaptcha
2024-03-13 16:40:32 -05:00
Alex Konradi
0ab2428d87
Don't produce zkgroup auth creds with PNI as ACI
2024-03-13 16:22:45 -05:00
Chris Eager
8574494573
Support "captcha" rename in AnswerChallengeRequest.type
2024-03-13 16:19:05 -05:00
Chris Eager
a4d4a9c686
Remove RecaptchaClient
2024-03-13 16:19:05 -05:00
Chris Eager
3d32b68bb2
Move WebSocketClient SecureRandom to a static field
2024-03-12 16:54:38 -05:00
Chris Eager
fd9eb462cc
Replace extraneous SecureRandom with empty byte array
2024-03-12 16:49:57 -05:00
Ravi Khadiwala
f9533e016f
Adjust metrics in RemoveExpiredUsernameHoldsCommand
2024-03-11 13:50:08 -05:00
Jon Chambers
85b15fa63b
Actually increment the "get group credentials" counter
2024-03-08 17:07:16 -05:00
Chris Eager
e236842888
Update to the latest version of the spam filter
2024-03-08 14:11:56 -06:00
Chris Eager
3dadaf9334
Migrate DynamicConfigurationManager to use java.util.concurrent
2024-03-08 13:53:28 -06:00
Ravi Khadiwala
9e510a678c
disable response buffering on the websocket
...
Jersey buffers responses (by default up to 8192 bytes) just so it can
add a content length to responses. We already buffer our responses to
serialize them as protos, so we can compute the content length
ourselves. Setting the buffer to zero disables buffering.
2024-03-08 13:46:00 -06:00
Chris Eager
2dc0ea2b89
Address potential NullPointerException when calling Collection#contains
2024-03-08 13:43:31 -06:00
Alex Konradi
7d364ca7ce
Count group auth reqs without pniAsServiceId=true
2024-03-06 15:41:48 -05:00
Chris Eager
9f6a6d7f5b
Include HTTP/2 stream idle timeouts in IOExceptionMapper
2024-03-06 11:11:39 -06:00
Ravi Khadiwala
3cc740cda3
Temporarily hold a username after an account releases it
2024-03-06 11:09:25 -06:00
Ravi Khadiwala
47b24b5dff
Simplify username operations in Accounts
...
- Group username table constants together
- Rethrow JsonProcessingException earlier
- Use UpdateAccountSpec.forAccount in username operations
- Inline confirm/clear transaction helpers
2024-03-06 11:09:25 -06:00
adel-signal
8f100a792e
calling: update TurnCallRouter to reduce returned options
2024-03-05 11:26:19 -08:00
Chris Eager
84c6731ddf
Update protobuf.version to match upstream
2024-02-29 16:56:25 -06:00
Chris Eager
1f1de353de
Reapply "Update to Dropwizard 3.0.6"
...
This reverts commit 95e83c52fa .
2024-02-29 16:56:25 -06:00
Chris Eager
40eb82adbe
Update actions/checkout and actions/setup-java to 4.x
2024-02-29 15:56:55 -06:00
Ehren Kret
d9240e1e2e
use consistent abbreviation for GNU AGPLv3
2024-02-28 18:09:27 -06:00
Ehren Kret
9abaed8385
update README copyright year
2024-02-28 17:51:05 -06:00
Ravi Khadiwala
95e83c52fa
Revert "Update to Dropwizard 3.0.6"
...
This reverts commit 2ad5d33251 .
2024-02-28 15:58:55 -06:00
Ravi Khadiwala
be377dcda8
Update to the latest version of the spam filter
2024-02-28 15:34:32 -06:00
Chris Eager
88a68e883e
Update various <exclusions> in POM
2024-02-28 15:25:33 -06:00
Chris Eager
2ad5d33251
Update to Dropwizard 3.0.6
2024-02-28 15:25:33 -06:00
Ravi Khadiwala
4e5dd914dd
Add varargs variant to HmacUtil
2024-02-28 15:18:39 -06:00
ravi-signal
2adf1e5017
Avoid modification of Account from @ReadOnly endpoint
2024-02-28 15:18:12 -06:00
Jon Chambers
55ca4e93c4
Update to noise-java 0.1.1
2024-02-28 16:16:46 -05:00
Jon Chambers
d1d03f45c5
Resolve warnings throughout AccountControllerTest
2024-02-26 16:11:03 -05:00
Ravi Khadiwala
436bd891bd
Don't register SpamFilter as a request filter
2024-02-26 09:33:36 -06:00
Chris Eager
a7c28fe5ed
Rename "name" tags to be more distinguishing
2024-02-26 09:32:50 -06:00
Chris Eager
60814d1ff0
Configure metrics registries earlier in background command setup
2024-02-26 09:32:01 -06:00
Jon Chambers
d018efe2a5
Require non-null proofs in "confirm username hash" requests
2024-02-26 10:30:52 -05:00
Jon Chambers
6fd0cba06a
Temporarily restore the giftBadges capability for backward compatibility
2024-02-26 10:30:29 -05:00
Ravi Khadiwala
86f9322036
Update to the latest version of the spam filter
2024-02-23 16:08:41 -06:00
Katherine
12c6af23ee
Map TransactionConflict to ContestedOptimisticLockException in username flows
2024-02-23 14:06:03 -08:00
Ravi Khadiwala
69330f47fd
Explicitly call spam-filter for verification session updates
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-23 16:04:24 -06:00
Ravi Khadiwala
4f40c128bf
Explicitly call spam-filter for challenges
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-23 15:58:52 -06:00
Jon Chambers
30b5ad1515
Fix an incorrectly-named "check keys" method
2024-02-23 13:17:10 -05:00
adel-signal
665a26d164
update call routing to return ipv6 ips in RFC3986 format
2024-02-23 11:57:58 -05:00
Jon Chambers
a5774bf6ff
Introduce a (dormant) Noise/WebSocket for future client/server communication
2024-02-23 11:42:42 -05:00
Jon Chambers
d2716fe5cf
Add an endpoint for checking that clients and the server have a common view of the client's repeated-use keys
2024-02-23 11:41:58 -05:00
Jon Chambers
279f877bf2
Validate pre-key signatures via the legacy "set signed pre-key" endpoint
2024-02-23 11:33:41 -05:00
Ravi Khadiwala
d51e6a43e7
Update to the latest version of the spam filter
2024-02-22 12:12:42 -06:00
Ravi Khadiwala
6a96756c87
Update to the latest version of the spam filter
2024-02-22 12:09:37 -06:00
Ravi Khadiwala
df69d9f195
Annotate authenticated endpoints with @ReadOnly or @Mutable
2024-02-22 12:05:32 -06:00
Ravi Khadiwala
26ffa19f36
Lifecycle management for Account objects reused accross websocket requests
2024-02-22 12:05:32 -06:00
Jon Chambers
29ef3f0b41
Add tests and metrics for parsing invalid keys
2024-02-21 15:32:25 -05:00
Jon Chambers
106d5e54c7
Extract a common base class for public key serializers/deserializers
2024-02-21 15:32:25 -05:00
Jon Chambers
6ac2460eb0
Drop the "key without version byte" counter
2024-02-21 15:32:25 -05:00
dependabot[bot]
79c030b138
Bump org.apache.commons:commons-compress from 1.24.0 to 1.26.0 in /service
2024-02-21 11:52:41 -08:00
Chris Eager
c8d649e8c2
Update MetricsHttpChannelListener to share MetricsRequestEventListener namespace
2024-02-21 13:32:47 -06:00
Ravi Khadiwala
1fdf82dd6c
Remove unused ChangePhoneNumberRequest object
...
Actual request object is ChangeNumberRequest
2024-02-21 13:32:27 -06:00
Jon Chambers
4aa4246695
Clear account records from the account cache after username operations
2024-02-20 12:11:29 -05:00
Chris Eager
1bebceb29c
Actually fix flaky test in MetricsHttpChannelListenerIntegrationTest
2024-02-20 10:52:04 -06:00
Jon Chambers
a2139ee236
Revert "Add diagnostic dimensions to the "get keys" counter"
...
This reverts commit cd64390141 .
2024-02-18 20:14:05 -05:00
Jon Chambers
8c55f39cdf
Revert "Use a phased enrollment strategy for the pnp compatibility flag"
...
This reverts commit 3e12a8780d .
2024-02-18 20:08:39 -05:00
Chris Eager
0329184c94
Fix flaky test in MetricsHttpChannelListenerIntegrationTest
2024-02-18 20:08:29 -05:00
Jon Chambers
cd64390141
Add diagnostic dimensions to the "get keys" counter
2024-02-18 18:10:58 -05:00
Jon Chambers
3e12a8780d
Use a phased enrollment strategy for the pnp compatibility flag
2024-02-18 17:59:00 -05:00
Jon Chambers
11e6ff1bbe
Introduce a pnp capability for backward compatibility
2024-02-18 17:59:00 -05:00
Jon Chambers
36f85fc97e
Fix an inverted boolean in a counter
2024-02-16 15:18:18 -05:00
Jon Chambers
9040cfd200
Count "store key" attempts by key type/platform
2024-02-16 13:09:55 -05:00
Jon Chambers
757da3b15a
Fully-qualify OpenAPI Tag, allowing for imported Micrometer Tag
2024-02-16 13:09:55 -05:00
Jon Chambers
d162590a32
Record a remote-aggregated distribution of one-time pre-key counts
2024-02-16 13:09:55 -05:00
Jon Chambers
f41e1716c6
Combine/expand existing "get keys" counter
2024-02-16 13:09:55 -05:00
Jon Chambers
4dce0f1b9d
Add identity type/"stale" dimensions to the "pre-key unavailable" counter
2024-02-16 13:09:55 -05:00
Jonathan Klabunde Tomer
fef57dce0d
use explicit Timer rather than micrometer annotation for send-message latency distribution
2024-02-15 14:58:43 -08:00
Jon Chambers
d884700b61
Significantly reduce default Redis command timeout
2024-02-15 17:57:17 -05:00
Jonathan Klabunde Tomer
ff9ad4bd1d
export 1:1 message send latency as a full distribution
2024-02-15 10:33:02 -08:00
Chris Eager
9ce2b7555c
Add static servlet paths to MetricsHttpChannelListener
2024-02-14 17:09:30 -06:00
Jon Chambers
f90ccd3391
Count attempts to fetch a one-time EC pre-key that result in a "key unavailable" response
2024-02-14 18:04:31 -05:00
Jon Chambers
5ff092e541
Retire the pni device capability
2024-02-14 18:04:23 -05:00
Ravi Khadiwala
dcdf401f64
Make DELETE /v1/device synchronous
2024-02-14 15:30:10 -05:00
Chris Eager
e4fb80b39b
Add onResponseFailure handler to MetricsHttpChannelListener
2024-02-14 13:43:23 -06:00
Chris Eager
9745854ab8
Switch MetricsHttpChannelListener to ContainerResponseFilter
2024-02-14 13:43:23 -06:00
Jon Chambers
7124621f66
Use pre-calculated pre-key counts when possible
2024-02-14 14:28:33 -05:00
Jon Chambers
47fd8f5793
Assume that all devices are PNI-capable
2024-02-14 14:27:48 -05:00
Jonathan Klabunde Tomer
40d698f2db
Remove last vestiges of stale capabilities.
...
Not for deployment until 2024-02-06!
2024-02-14 14:23:05 -05:00
adel-signal
74abe98706
initialize call routing data syncs
2024-02-13 17:05:08 -08:00
Chris Eager
86787f3bc8
Start DynamicConfigurationManager directly after construction
2024-02-13 13:08:20 -06:00
Chris Eager
699b0c775a
Add dynamic configuration to enable detailed Lettuce metrics
2024-02-13 10:33:43 -06:00
Chris Eager
ff59ef8094
Add MetricHttpChannelListener
2024-02-13 10:29:03 -06:00
Jonathan Klabunde Tomer
089af7cc1f
correct metric name in MaxMindDatabaseManager timer
2024-02-09 13:37:39 -08:00
Jonathan Klabunde Tomer
1591a2d9a3
CallRoutingTableManager: fix crash on startup due to typo in metric naming
2024-02-09 12:27:51 -08:00
Jonathan Klabunde Tomer
f7984ed642
CallDnsRecordsManager: fix crash on startup due to typo in metric naming
2024-02-09 12:14:50 -08:00
Jonathan Klabunde Tomer
be634c6043
Update to the latest version of the spam filter
2024-02-09 11:38:18 -08:00
adel-signal
d1f68eacd9
Add call routing API endpoint for turn servers
2024-02-09 11:12:23 -08:00
Jon Chambers
4f45f23094
Prevent old versions of the Android app from carrying out "change phone number" requests
2024-02-09 09:58:38 -05:00
Jon Chambers
c5dc01ee11
Restore high-cardinality Lettuce metrics for debugging
2024-02-08 19:27:56 -05:00
Ravi Khadiwala
587c385936
Update to the latest version of the spam filter
2024-02-07 17:19:59 -06:00
Ravi Khadiwala
3a641a58b0
Update to the latest version of the spam filter
2024-02-07 14:38:35 -06:00
Chris Eager
e944306a28
Remove obsolete dropwizard-db dependency
2024-02-07 14:35:23 -06:00
Ravi Khadiwala
3b44ed6d16
Explicitly call spam-filter for messages
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-07 14:30:32 -06:00
Chris Eager
0965ab8063
Move HeaderUtils#getMostRecentyProxy to RemoteAddressFilter
2024-02-07 14:28:37 -06:00
Chris Eager
fcae100df1
Add dropwizard-http2 dependency
2024-02-07 14:28:20 -06:00
Fedor Indutny
24a7762873
Add identityType tag to SENT_MESSAGE_COUNTER_NAME
2024-02-06 17:39:00 -06:00
Chris Eager
e441ab60a2
Add metric for IPv4/IPv6 requests count
2024-02-06 17:38:25 -06:00
Chris Eager
50c2bc5edb
Update to the latest version of the spam filter
2024-02-05 13:45:50 -06:00
Chris Eager
2ab14ca59e
Refactor remote address/X-Forwarded-For handling
2024-02-05 13:37:06 -06:00
Chris Eager
4475d65780
Make Accounts#changeNumber exception handling more resilient to future changes
2024-02-01 15:14:15 -06:00
Ravi Khadiwala
b1d10f5817
Add lifecycle management for AwsCrt for commands
2024-02-01 15:08:45 -06:00
Chris Eager
36664f37de
Update to the latest version of the spam filter
2024-01-31 18:04:03 -06:00
Chris Eager
c838df90ef
Add HttpServletRequestUtil
2024-01-31 17:53:47 -06:00
Chris Eager
fb39af67e5
Allow for more TransactWriteItems when inspecting TransactionCanceledException
2024-01-31 17:46:32 -06:00
Chris Eager
2d4d37f96a
Translate TransactionCanceledException to ContestedOptimisticLockException in Accounts#changeNumber
2024-01-31 17:27:16 -06:00
Jonathan Klabunde Tomer
84af984c4b
remove unversioned and libsignal-0.36 versioned zk secrets from sample bundle
2024-01-31 15:25:23 -08:00
Jon Chambers
26adf20ee8
Make "fetch profile" endpoints @ManagedAsync
2024-01-31 14:38:50 -06:00
Jon Chambers
72668ed0a2
Make "send individual message" endpoint @ManagedAsync
2024-01-31 14:38:50 -06:00
Ravi Khadiwala
50f1ed7851
Add a virtual-thread backed @ManagedAsyncExecutor
2024-01-31 14:38:50 -06:00
ravi-signal
cf8f2a3463
remove synchronized locks that may be held while blocking
2024-01-31 14:29:15 -06:00
ravi-signal
b483159b3a
reintroduce VirtualThreadPinEventMonitor
2024-01-31 14:28:12 -06:00
ravi-signal
480abebf7e
Offload account lock updates to accountLockExecutor
2024-01-31 14:27:16 -06:00
Ravi Khadiwala
b924dea045
Remove VirtualThreadPinEventMonitor
2024-01-30 13:49:39 -06:00
Ravi Khadiwala
2c1e7e5ed6
Disable flaky VirtualThreadPinEventMonitorTest
2024-01-30 13:29:58 -06:00
Ravi Khadiwala
4dfd74906c
Add timeouts to VirtualThreadPinEventMonitorTest
2024-01-30 13:10:43 -06:00
Chris Eager
fdae6ad94f
Update to the latest version of the spam filter
2024-01-30 12:53:01 -06:00
Chris Eager
c80225a18c
Remove NoneHealthResponder
2024-01-30 12:51:43 -06:00
ravi-signal
0e6242373e
Add a monitor for virtual thread pin events
2024-01-30 12:48:07 -06:00
ravi-signal
4305db5579
Update to aws sdk 2.23.8 and use AwsCrtHttpClient
2024-01-30 12:46:27 -06:00
ravi-signal
36e7772f74
Put some validation on to profile version strings
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2024-01-26 15:24:38 -06:00
Chris Eager
ca05df5172
Revert "Add support for secondary credentials for registration service"
...
This reverts commit 4b8fc2950f .
2024-01-26 11:42:35 -06:00
Chris Eager
422e8e6f3e
Remove CommandStopListener
2024-01-26 11:31:04 -06:00
Jon Chambers
852b285d84
Configure and instantiate a ClientPublicKeys data store/manager
2024-01-26 10:29:59 -05:00
Jon Chambers
6c13193623
Add a data store for client public keys for transport-level authentication/encryption
2024-01-26 10:29:59 -05:00
Ravi Khadiwala
61809107c8
Update to the latest version of the spam filter
2024-01-25 13:27:13 -06:00
Ravi Khadiwala
6bda9d8604
Set destination account on the request context
2024-01-25 13:02:28 -06:00
Ravi Khadiwala
1428ca73de
Make identity token fetcher more async friendly
...
After the identity token expires a subsequent call would do a blocking
operation to retrieve the new token. Since we're making use of an async
gRPC client, this tends to block a thread we don't want to be blocking
on.
Instead, switch to periodically refreshing the token on a dedicated
thread.
2024-01-25 13:01:21 -06:00
Katherine
498ace0488
Remove iOS special case handling logic for SEPA/iDEAL
2024-01-25 10:52:17 -08:00
Chris Eager
f082b95efb
Update to the latest version of the spam filter
2024-01-24 15:01:35 -06:00
Chris Eager
4b8fc2950f
Add support for secondary credentials for registration service
2024-01-24 13:52:23 -06:00
Jon Chambers
595cc55578
Retire the returnPqKey flag when fetching pre-keys
2024-01-23 16:01:40 -05:00
Ravi Khadiwala
91b0c368b4
Remove unused table configuration parameter
2024-01-23 14:48:52 -06:00
Jonathan Klabunde Tomer
21d0ffc990
Allow "reserving" one's own committed username hash
2024-01-23 12:44:55 -08:00
Chris Eager
55b9d84956
Add host to DogstatsdConfiguration
2024-01-22 15:59:52 -06:00
Chris Eager
ffdb0db6c6
Migrate from host tag to dd.internal.entity_id
2024-01-22 15:59:52 -06:00
Chris Eager
a5ed07a666
Support environment variable substitution in configuration
2024-01-22 11:25:18 -06:00
Chris Eager
da02c90bad
Remove AWS instance profile credentials provider
2024-01-22 11:24:03 -06:00
Ravi Khadiwala
3820a231ec
Strictly enforce ACI service identifier strings have no prefix
2024-01-22 11:23:33 -06:00
Dimitris Apostolou
408b065b9e
Fix typos
2024-01-20 12:40:08 -05:00
hduelme
238ab84749
use StandardCharsets UTF_8 instead of String
2024-01-20 12:39:43 -05:00
Ravi Khadiwala
6894015986
Update to the latest version of the spam filter
2024-01-19 14:32:15 -06:00
Ravi Khadiwala
f5080f9bd6
Support configurable verification code sender overrides
2024-01-19 13:58:17 -06:00
Ravi Khadiwala
db4aa99ce0
Make the ServiceIdentifier interface sealed
2024-01-19 13:57:20 -06:00
ravi-signal
70134507f8
Add metric for ServiceId string parsing
2024-01-19 13:56:47 -06:00
Ravi Khadiwala
360a4793ae
Remove global lock in RateLimitChallengeManager
2024-01-19 13:56:09 -06:00
Jon Chambers
47bfb25f2c
Retire a now-unused transacational update method for accounts
2024-01-18 16:40:21 -05:00
Jon Chambers
b048b0bf65
Remove signed pre-keys from Device entities
2024-01-18 12:13:00 -05:00
Jonathan Klabunde Tomer
394f9929ad
limit size of multi-recipient messages
2024-01-11 16:31:37 -08:00
ravi-signal
bf39be3320
Add Content-Type header for copy uploads
2024-01-11 14:59:35 -06:00
Chris Eager
4a2cbb9ec7
Stop timers on Flux termination
2024-01-11 14:57:31 -06:00
Ravi Khadiwala
cc6cf8194f
Add media deletion endpoint
2024-01-11 10:19:06 -06:00
Ravi Khadiwala
e934ead85c
Fix incorrect comparison in archive usage metric
2024-01-11 10:19:06 -06:00
Ravi Khadiwala
323bfd9a6e
Remove some secondary keys from account cache
...
Remove e164, usernameHash, and usernameLink secondary mappings from the
accounts redis cache.
2024-01-11 10:10:32 -06:00
Jon Chambers
bf05e47e26
Get accounts asynchronously when checking SVR credentials via gRPC
2024-01-11 11:09:49 -05:00
Jon Chambers
d18f576239
Revert "Revert "Treat the stand-alone signed pre-keys table as the source of truth for signed pre-keys""
...
This reverts commit 3f9edfe597 .
2024-01-10 11:22:10 -05:00
Jon Chambers
7d483c711a
Revert "Revert "Retire "migrate signed pre-keys" configuration""
...
This reverts commit a024949311 .
2024-01-10 11:22:10 -05:00
Jon Chambers
61256d49cd
Revert "Revert "Retire the "migrate signed pre-keys" command""
...
This reverts commit f738bc97e7 .
2024-01-10 11:22:10 -05:00
Jonathan Klabunde Tomer
184cdc0331
Remove two-stage check of username availability in reserve/confirm
2024-01-09 14:01:42 -08:00
Ravi Khadiwala
ed972a0037
Fix archive listing directory prefix order
2024-01-09 16:01:11 -06:00
Ravi Khadiwala
a62a6c1cb6
Change type of Cdn3StorageManagerConfiguration.clientSecret to SecretString
2024-01-08 16:06:54 -06:00
Ravi Khadiwala
ba0c6be3e3
Update to the latest version of the spam filter
2024-01-08 15:00:29 -06:00
Ravi Khadiwala
f66566aa17
Fix default configuratiton in MonitoredS3ObjectConfiguration
2024-01-08 14:52:14 -06:00
ravi-signal
b6ecfc7131
Add archive listing
2024-01-08 13:54:57 -06:00
adel-signal
460dc6224c
Update to the latest version of the spam filter
2024-01-08 10:56:43 -08:00
adel-signal
2b688b1a60
Refactor spam filter's S3MonitoredObject to server parent module.
...
Allows other parts of server to use S3MonitoredObjects.
2024-01-08 10:34:12 -08:00
Jon Chambers
3c64d9292f
Revert "Expand the default max packet size for Dogstatsd"
...
This reverts commit 0f52d2e464 .
2024-01-08 12:23:16 -05:00
Jon Chambers
0f52d2e464
Expand the default max packet size for Dogstatsd
2024-01-08 11:43:50 -05:00
Jonathan Klabunde Tomer
1e5fadc440
Allow reserving a hash previously reserved (but not committed) by the same user
2024-01-05 15:38:45 -08:00
Chris Eager
f495ff483a
Update RemoveExpiredLinkedDevicesCommand to retry failures
2024-01-05 15:38:34 -08:00
Jonathan Klabunde Tomer
4e3b1509a8
Update to the latest version of the spam filter
2024-01-04 12:20:50 -08:00
Jonathan Klabunde Tomer
d1a80cc880
fix build-breaking typo
2024-01-04 11:46:07 -08:00
Jonathan Klabunde Tomer
e1ad25cee0
Group Send Credential support in chat
2024-01-04 11:38:57 -08:00
Chris Eager
195f23c347
Add /v1/accounts and /v2/keys to the WebSocket
2024-01-02 15:51:57 -06:00
Chris Eager
ad6b99be6a
Dispatch client presence operations after device deletion to a dedicated executor
2023-12-22 10:51:17 -06:00
Chris Eager
b9dd9fc47d
Reduce fan-out by processing a single stream of expired linked devices
2023-12-22 10:51:06 -06:00
Ravi Khadiwala
19a8a80a30
Update to the latest version of the spam filter
2023-12-21 16:29:54 -06:00
Chris Eager
637792c6d4
Move RemoveExpiredLinkedDevicesCommand error handling for more accurate metrics
2023-12-21 16:06:41 -06:00
Jon Chambers
4d1bca2d97
Dispatch client presence operations after account deletion to a dedicated executor
2023-12-21 13:40:49 -05:00
Chris Eager
f33a2eba50
Add buffer + shuffle and configurable concurrency to RemoveExpiredLinkedDevicesCommand
2023-12-21 11:14:02 -06:00
Jon Chambers
5d6bea5ec9
Clear Redis cache entries strictly after removing accounts from DynamoDB
2023-12-21 12:08:03 -05:00
Jon Chambers
057d1f07a8
Remove bulk "set repeated-use signed pre-keys" methods because they were only ever used for single devices
2023-12-21 12:07:42 -05:00
Ravi Khadiwala
25c3f55672
Update documentation/integration-tests actions to java 21
2023-12-20 16:41:16 -06:00
Ravi Khadiwala
c9d4091c1e
Update to the latest version of the spam filter
2023-12-20 16:38:20 -06:00
Ravi Khadiwala
1d55562dc3
Update to Java 21
2023-12-20 16:37:14 -06:00
Jon Chambers
95bb9a9780
Log signed pre-key retrieval errors and mismatches
2023-12-20 14:55:12 -05:00
Chris Eager
06c391cbf6
Add counter for failed account updates to RemoveExpiredLinkedDevicesCommand
2023-12-20 13:51:28 -06:00
Chris Eager
d90dff95b1
Move MeterRegistry#close calls to after the lifecycle has fully stopped
2023-12-20 13:51:16 -06:00
Ravi Khadiwala
c93972a322
Update to the latest version of the spam filter
2023-12-19 18:33:45 -06:00
Ravi Khadiwala
ca47a7b663
handle new RegistrationService proto error
2023-12-19 18:19:26 -06:00
Jonathan Klabunde Tomer
9d3d4a3698
Add phone-number-sharing field to versioned profile
...
Co-authored-by: Katherine <katherine@signal.org>
2023-12-19 11:20:04 -08:00
Chris Eager
3b509bf820
Add command to remove expired linked devices
2023-12-19 13:11:26 -06:00
Jon Chambers
5b7f91827a
Remove signed pre-keys transactionally when removing devices
2023-12-19 14:11:05 -05:00
Chris Eager
a44491714c
Update to the latest version of the spam filter
2023-12-18 14:55:39 -06:00
Chris Eager
06800043a9
Set TLS keystore password in secondary persistent services
2023-12-15 13:39:58 -06:00
Chris Eager
3090de56b8
Set TLS keystore password from secrets configuration
2023-12-15 12:47:27 -06:00
Katherine
a37acd1f42
Add ttl for braintree writes to onetime donation table
2023-12-15 13:37:35 -05:00
Jonathan Klabunde Tomer
372e3f83d2
Update libsignal to 0.37.0
2023-12-15 10:36:59 -08:00
Chris Eager
de260a2bef
Update to the latest version of the spam filter
2023-12-15 12:23:01 -06:00
Jonathan Klabunde Tomer
e9a130f976
add versioned zkconfig secrets to sample secrets bundle
2023-12-14 17:38:49 -08:00
Jonathan Klabunde Tomer
43f17414ff
Make key-setting methods asynchronous again
2023-12-14 16:49:16 -08:00
Jon Chambers
b259eea8ce
Refactor/clarify account creation/reclamation process
2023-12-14 16:48:57 -08:00
Katherine
9cfc2ba09a
Persist onetime donation payment success timestamps for Braintree transactions
2023-12-14 16:48:29 -08:00
Chris Eager
bb347999ce
Propagate another subscription processor error to clients
2023-12-14 15:40:08 -05:00
Katherine
3548c3df15
Calculate onetime badge expiration from payment success timestamp
2023-12-14 15:39:46 -05:00
Jon Chambers
1167d0ac2e
Make key-setting methods synchronous
2023-12-13 17:49:55 -05:00
Jon Chambers
f738bc97e7
Revert "Retire the "migrate signed pre-keys" command"
...
This reverts commit c7cc3002d5 .
2023-12-13 17:49:55 -05:00
Jon Chambers
3f9edfe597
Revert "Treat the stand-alone signed pre-keys table as the source of truth for signed pre-keys"
...
This reverts commit feb933b4df .
2023-12-13 17:49:55 -05:00
Jon Chambers
a024949311
Revert "Retire "migrate signed pre-keys" configuration"
...
This reverts commit 44145073f1 .
2023-12-13 17:49:55 -05:00
Jon Chambers
609c901867
Refactor key-fetching to be reactive
2023-12-13 12:46:48 -05:00
Jon Chambers
4ce060a963
Count wildcard "get keys" requests by platform
2023-12-13 12:46:48 -05:00
Jon Chambers
c4ca0fee40
Synchronize access to responseItems when assembling a "get keys" response
2023-12-13 12:46:48 -05:00
Chris Eager
8d4acf0330
Remove ForkJoinPool.managedBlock in favor of async updates
2023-12-13 10:18:04 -05:00
Jon Chambers
28a981f29f
Assume that all devices have signed pre-keys
2023-12-13 10:17:51 -05:00
Jon Chambers
c29113d17a
Reject requests with missing device capabilities
2023-12-12 11:37:44 -05:00
Katherine
951f978447
Use start of subscription period as fallback timestamp
2023-12-12 11:34:44 -05:00
Jon Chambers
07899f35bd
Return DeviceController#linkDevice to synchronous processing
2023-12-12 11:34:23 -05:00
Katherine
3cbbf37468
Use payment success timestamp to calculate recurring donation badge expiration
2023-12-12 10:01:20 -05:00
Jon Chambers
6c7a3df5ae
Retire non-atomic device-linking pathways
2023-12-12 09:53:51 -05:00
Jon Chambers
2054ab2771
Revert "Count requests with missing device capabilities"
...
This reverts commit 6cdf8ebd2c .
2023-12-12 09:53:51 -05:00
Jon Chambers
44145073f1
Retire "migrate signed pre-keys" configuration
2023-12-12 09:53:34 -05:00
Jon Chambers
feb933b4df
Treat the stand-alone signed pre-keys table as the source of truth for signed pre-keys
2023-12-11 11:39:54 -05:00
Jon Chambers
c7cc3002d5
Retire the "migrate signed pre-keys" command
2023-12-11 11:07:00 -05:00
xiaolou86
049b901d63
Fix typos
2023-12-09 10:04:12 -05:00
Jon Chambers
3cf1b92dfc
Do not set one-time pre-keys if the lists of new keys are empty
2023-12-08 14:03:08 -05:00
Jon Chambers
5b0fcbe854
Always expose sequential fluxes to account crawlers
2023-12-08 13:43:42 -05:00
Jon Chambers
cca747a1f6
Treat transaction conflicts during transactional account updates as contested optimistic locks
2023-12-08 12:13:23 -05:00
Jon Chambers
417d99a17e
Check story rate limits in parallel
2023-12-08 12:13:08 -05:00
Jon Chambers
e9708b9259
Use random UUIDs throughout MessageControllerTest
2023-12-08 12:13:08 -05:00
Jon Chambers
e5d3be16b0
Fetch destination accounts in parallel when sending multi-recipient messages
2023-12-08 12:13:08 -05:00
Jordan Rose
2ab3c97ee8
Replace MultiRecipientMessage parsing with libsignal's implementation
...
Co-authored-by: Jonathan Klabunde Tomer <jkt@signal.org>
2023-12-08 11:52:47 -05:00
Jon Chambers
f20d3043d6
Process key migrations sequentially to better control concurrency
2023-12-07 21:42:49 -05:00
Jonathan Klabunde Tomer
4efda89358
multisend cleanup
2023-12-07 12:23:02 -08:00
Jon Chambers
1fb88271e5
Invalidate cache entries for accounts after successfully adding devices
2023-12-07 13:27:26 -05:00
Jon Chambers
a843780f68
Add a (failing!) test for device-linking
2023-12-07 13:27:26 -05:00
Jon Chambers
5ad83da4e0
Remove the now-unused admin logger
2023-12-07 12:58:43 -05:00
Jon Chambers
949cc9e214
Update to the latest version of the spam filter
2023-12-07 12:58:23 -05:00
Jon Chambers
50d92265ea
Add devices to accounts transactionally
2023-12-07 11:19:40 -05:00
Chris Eager
e084a9f2b6
Remove PUT/DELETE methods from RemoteConfigController
2023-12-07 10:54:19 -05:00
Jon Chambers
664f9f36e1
Use padded base64 encoding for outbound device names
2023-12-07 10:53:56 -05:00
Jon Chambers
4c9efdb936
Revert "Revert "Represent device names as byte arrays""
...
This reverts commit 45848e7bfe .
2023-12-07 10:53:56 -05:00
Jon Chambers
45848e7bfe
Revert "Represent device names as byte arrays"
...
This reverts commit 5ae2e5281a .
2023-12-06 17:05:04 -05:00
Ravi Khadiwala
4fa10e5783
Fix NPE in request metrics when a finished request is missing a response
2023-12-06 15:11:41 -05:00
Ravi Khadiwala
fc0bc85f4d
Add some extra request validation to /v1/archives/keys
2023-12-06 15:11:27 -05:00
Jon Chambers
5ae2e5281a
Represent device names as byte arrays
2023-12-06 15:10:45 -05:00
Jon Chambers
34a943832a
Align push notification types and delivery priorities
2023-12-06 12:40:16 -05:00
Jon Chambers
db17693ba7
Revert "Temporarily make registration challenge notifications "noisy""
...
This reverts commit 9069c5abb6 .
2023-12-06 12:40:16 -05:00
Jon Chambers
6cdf8ebd2c
Count requests with missing device capabilities
2023-12-06 10:40:50 -05:00
Ravi Khadiwala
072b470f46
Be more specific about encodings in /v1/archive docs
2023-12-06 10:40:20 -05:00
Ravi Khadiwala
78b2df2ecc
Use long instead of int for epoch seconds
2023-12-06 10:40:06 -05:00
Jon Chambers
51a825f25c
Update to the latest version of the spam filter
2023-12-06 10:39:04 -05:00
Jon Chambers
00e72a30c9
Assume all accounts have primary devices
2023-12-06 10:28:19 -05:00
Ravi Khadiwala
69990c23a5
Avoid test dep in integration-test
2023-12-05 16:35:51 -06:00
Jon Chambers
df421e0182
Update signed pre-keys in transactions
2023-12-05 14:20:16 -05:00
Jon Chambers
ede9297139
Disallow identity key changes
2023-12-05 14:14:24 -05:00
Jon Chambers
85383fe581
Remove an unused "store keys" method
2023-12-05 14:14:24 -05:00
Jon Chambers
4cca7aa4bd
Normalize identity types throughout KeysController
2023-12-05 14:14:24 -05:00
Jon Chambers
e2037dea6c
Rename PreKeyState to SetKeysRequest
2023-12-05 14:14:24 -05:00
Jon Chambers
f10f772e94
Convert PreKeyState to a record
2023-12-05 14:14:24 -05:00
Jon Chambers
9ecfe15ac4
Use multiline strings for PreKeyState documentation
2023-12-05 14:14:24 -05:00
Jon Chambers
5f0726af8a
Perform cleanup operations before overwriting an existing account record
2023-12-05 12:18:09 -05:00
Ravi Khadiwala
331bbdd4e6
replace deprecated apache RandomUtils
2023-12-05 10:48:18 -06:00
Jon Chambers
37e3bcfc3e
Move "remove device" logic into AccountsManager
2023-12-05 11:44:58 -05:00
Jon Chambers
4f42c10d60
Disallow sync messages to PNIs
2023-12-05 11:44:27 -05:00
Jonathan Klabunde Tomer
20392a567b
Revert "multisend cleanup"
...
This reverts commit c03249b411 .
2023-12-01 14:39:31 -08:00
Jonathan Klabunde Tomer
c03249b411
multisend cleanup
2023-11-30 15:50:36 -08:00
gram-signal
22e6584402
Add auth controller for SVR3 to /v3/backup.
2023-11-30 15:50:21 -08:00
Chris Eager
c18aca9215
Update to the latest version of the spam filter
2023-11-29 16:08:31 -06:00
Jon Chambers
aa23a5422a
Don't modify registration IDs from the "set account attributes" endpoint
2023-11-29 16:56:47 -05:00
Jon Chambers
01fde4f9ca
Require PNI-associated registration IDs for new devices
2023-11-29 16:56:47 -05:00
Jon Chambers
3980dec123
Revert "Add metrics to check presence of PNI-associated registration IDs"
...
This reverts commit 1da3f96d10 .
2023-11-29 16:56:47 -05:00
Jon Chambers
c97f837f45
Revert "Instrument registration ID changes via the "set account attributes" endpoint"
...
This reverts commit 8fbc1dac74 .
2023-11-29 16:56:47 -05:00
Chris Eager
9c54d2407b
Update tests
2023-11-29 15:48:24 -06:00
Chris Eager
a027c4ce1f
Conditionally use request.remoteAddr instead of X-Forwarded-For
2023-11-29 15:48:24 -06:00
Chris Eager
b1fd025ea6
Use EpochSecondSerializer for UserRemoteConfigList.serverEpochTime
2023-11-29 15:47:10 -06:00
Jonathan Klabunde Tomer
a05a230085
use Account-specific json serializer when reserving username hash
2023-11-29 13:40:06 -08:00
Jon Chambers
8fbc1dac74
Instrument registration ID changes via the "set account attributes" endpoint
2023-11-29 10:26:41 -05:00
Katherine
f46842c6c9
Validate registration IDs
2023-11-28 15:43:35 -08:00
Ravi Khadiwala
8b95bb0c03
Only run integration tests if integration bucket is configured
2023-11-28 15:10:49 -06:00
ravi-signal
202dd8e92d
Add copy endpoint to ArchiveController
...
Co-authored-by: Jonathan Klabunde Tomer <125505367+jkt-signal@users.noreply.github.com>
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2023-11-28 11:45:41 -06:00
Jon Chambers
1da3f96d10
Add metrics to check presence of PNI-associated registration IDs
2023-11-28 12:26:15 -05:00
Chris Eager
5f6fe4d670
Add NoneHealthResponder to replace default responder
2023-11-27 14:38:47 -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
Jon Chambers
c8033f875d
Create accounts transactionally
2023-11-27 09:57:43 -05:00
Jon Chambers
07c04006df
Avoid blocking calls in async account updates
2023-11-27 09:57:43 -05:00
Jon Chambers
521900c048
Always require atomic account creation
2023-11-27 09:52:57 -05:00
Jon Chambers
9069c5abb6
Temporarily make registration challenge notifications "noisy"
2023-11-22 10:25:59 -05:00
Jon Chambers
ff7a5f471b
Always use "conserve power" priority for challenge notifications
2023-11-21 17:58:32 -05:00
Ravi Khadiwala
42a47406cc
Fix platform tag for push challenge metric
2023-11-21 17:57:32 -05:00
Katherine
de10b6de7b
Add metric to count invalid registration ID when setting account attributes
2023-11-20 14:25:27 -08:00
Chris Eager
d6ade0e1ac
Send HTTP 408 on idle timeout
2023-11-20 16:24:54 -06:00
Ravi Khadiwala
e04b5e5c9f
run integration-test job daily at 19:30 UTC
2023-11-20 15:31:45 -06:00
Ravi Khadiwala
15a6c46d47
use a configured number in integration test
2023-11-20 15:02:53 -06:00
Jonathan Klabunde Tomer
cb1fc734c2
report exceptions in fanned-out sends of multi-recipient messages
2023-11-20 10:46:26 -08:00
Katherine Yen
db7f18aae7
Add missing boolean parameter to getSubscriptionStatus method call
2023-11-16 19:28:10 -05:00
Katherine
7fbc327591
For Braintree, return active subscription status if latest transaction also succeeded
2023-11-16 19:15:46 -05:00
Chris Eager
84b56ae1b2
Upgrade to dropwizard 3.0
2023-11-16 17:57:48 -06:00
Katherine
041aa8639a
Enforce story ratelimit
2023-11-16 12:36:43 -05:00
Katherine
216ac72ad0
Use Braintree subscription status alongside transaction status to determine 204 and 402 responses for /v1/subscription/{subscriberId}/receipt_credentials
2023-11-16 12:36:19 -05:00
Jon Chambers
c85ddaeb9c
Make DynamoDB client connection pool sizes configurable
2023-11-16 12:29:43 -05:00
Jonathan Klabunde Tomer
e09dec330a
Update to the latest version of the spam filter
2023-11-15 17:34:57 -08:00
Jonathan Klabunde Tomer
8f7bae54fe
When persisting messages fails due to a full queue in DynamoDB, automatically unlink one device to free up room.
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2023-11-15 17:15:17 -08:00
Jon Chambers
ce60f13320
Don't track IPv4/IPv6 metrics at the application level
...
We can measure this at the infrastructure level without observing IPs directly.
2023-11-15 17:18:54 -05:00
Jon Chambers
1ac0140666
Remove a couple of now-unused variables
2023-11-15 17:12:08 -05:00
Jon Chambers
6cc8b147a9
Remove unused X-Forwarded-For parameters
2023-11-15 17:09:47 -05:00
Jon Chambers
e078161e2f
Consistently use HttpHeaders.X_FORWARDED_FOR
2023-11-15 17:09:36 -05:00
Jonathan Klabunde Tomer
7764185c57
return explicit Response rather than Void from async controllers with no expected body content
2023-11-14 21:57:25 -08:00
Katherine
d4ef2adf0a
Remove low priority attempt login notification workaround for old iOS clients
2023-11-13 12:06:55 -05:00
Jonathan Klabunde Tomer
a83378a44e
add an option to replace username ciphertext without rotating the link handle
2023-11-13 09:01:54 -08:00
ravi-signal
a4a4204762
Allow re-registered accounts to reclaim their usernames
2023-11-13 10:41:23 -06:00
Jon Chambers
acd1140ef6
Make registration challenge APNs payloads "silent"
2023-11-13 08:39:58 -08:00
Jon Chambers
fbf71c93ff
Make rate limit challenge APNs payloads "silent"
2023-11-13 08:39:58 -08:00
Katherine
38bc0c466a
Change sepaMaximumEuros field to number in JSON response
2023-11-10 10:16:03 -08:00
Katherine
71e4351743
Add sepaMaximumEuros field to subscription configuration
2023-11-10 09:13:51 -08:00
Katherine
387e4b94b4
Expand charge object on Stripe subscription to surface charge failure information
2023-11-10 09:12:59 -08:00
Katherine
201c76b861
Add charge failure details to /v1/subscription/{subscriberId}/receipt_credentials 402 response
2023-11-08 10:54:14 -08:00
Chris Eager
1c3aa87ca6
Update to the latest version of the spam filter
2023-11-06 10:11:41 -06:00
Sergey Skrobotov
db63ff6b88
gRPC validations
2023-11-03 11:30:48 -07:00
Katherine
115431a486
Un-hardcode payment activation flag
2023-11-03 11:27:34 -07:00
Jonathan Klabunde Tomer
d47ff9b7c7
don't make empty transactions
2023-11-02 16:20:19 -07:00
Chris Eager
b0818148cf
Update to the latest version of the spam filter
2023-11-02 11:48:50 -05:00
Chris Eager
2bc4412d66
Encapsulate device ID in ProvisioningAddress
2023-11-02 11:48:10 -05:00
Chris Eager
6a428b4da9
Convert Device.id from long to byte
2023-11-02 11:48:10 -05:00
Jonathan Klabunde Tomer
7299067829
Don't attempt to update PNI PQ prekeys for disabled devices
2023-11-01 16:55:55 -07:00
Chris Eager
5659cb2820
Update to the latest version of the spam filter
2023-11-01 15:53:26 -05:00
Chris Eager
570aa4b9e2
Remove several unused classes
2023-11-01 15:46:10 -05:00
Chris Eager
c4079a3b11
Update to the latest version of the spam filter
2023-11-01 10:07:42 -05:00
Ravi Khadiwala
6b38b538f1
Add ArchiveController
...
Adds endpoints for creating and managing backup objects with ZK
anonymous credentials.
2023-10-30 14:02:19 -05:00
Chris Eager
ba139dddd8
Use all devices when checking limit
2023-10-30 12:40:06 -05:00
Chris Eager
38b581a231
Update to the latest version of the spam filter
2023-10-27 10:22:50 -05:00
Chris Eager
3c2675b41a
Update libphonenumber to 8.13.23
2023-10-27 09:26:40 -05:00
Chris Eager
0f5c62ade5
Set max threads = min threads on command executor services
2023-10-27 09:26:32 -05:00
Jon Chambers
54bc3bce96
Add an authentication-required gRPC service for working with accounts
2023-10-25 14:47:20 -04:00
Jon Chambers
3d92e5b8a9
Explicitly stop and start managed dependencies
2023-10-24 16:50:02 -04:00
Chris Eager
325d145ac3
Update to the latest version of the spam filter
2023-10-24 14:33:31 -05:00
Chris Eager
b0654a416a
Update maven plugins
2023-10-24 14:32:55 -05:00
Chris Eager
19930ec2e4
Update dependencies
...
- AWS: 2.20.130 → 2.21.5
- Braintree: 3.25.0 → 3.27.0
- commons-csv: 2.13.0 → 2.14.0
- dropwizard: 2.1.7 → 2.1.9
- Google libraries BOM: 26.22.0 → 26.25.0
- grpc: 1.56.1 → 1.58.0
- kotlin: 1.9.0 → 1.9.10
- protobuf: 3.23.2 → 3.24.3
- stripe: 23.1.1 → 23.10.0
- junit-pioneer: 2.0.1 → 2.1.0
- firebase-admin: 9.1.1 → 9.2.0
- swagger-jaxrs2: 2.2.8 → 2.2.17
- java-uuid-generator: 4.2.0 → 4.3.0
- log4j: 2.17.0 → 2.21.0
- reactor-bom: 2022.0.10 → 2022.0.12
2023-10-24 14:32:55 -05:00
Jon Chambers
e4de6bf4a7
Only update devices that aren't already disabled
2023-10-24 15:29:03 -04:00
Jon Chambers
21125c2f5a
Update to the latest version of the spam filter
2023-10-20 16:38:04 -04:00
Katherine Yen
6f166425fe
Fix bank mandate test
2023-10-20 16:19:31 -04:00
Chris Eager
cf2353bcf9
Remove InstrumentedExecutorService wrapping
2023-10-20 15:14:35 -05:00
Jon Chambers
744eb58071
Discard old chunk-based account crawler machinery
2023-10-20 16:09:17 -04:00
Jon Chambers
9d47a6f41f
Introduce a reactive push notification feedback processor
2023-10-20 16:09:17 -04:00
Jonathan Klabunde Tomer
4f4c23b12f
Update to the latest version of the spam filter
2023-10-20 09:39:46 -07:00
Jonathan Klabunde Tomer
fb02815c27
Update to the latest version of the spam filter
2023-10-20 09:12:37 -07:00
Jonathan Klabunde Tomer
fd19299ae0
Accept a captcha score threshold for challenges from the spam filter
2023-10-20 09:09:22 -07:00
Jon Chambers
9c053e20da
Drop Util#isEmpty/Util#nonEmpty in favor of StringUtils
2023-10-20 12:04:15 -04:00
Jon Chambers
19d7b5c65d
Drop Util#wait
2023-10-20 12:04:15 -04:00
Jon Chambers
7b9d8829da
Remove entirely unused Util methods
2023-10-20 12:04:15 -04:00
Jon Chambers
3505ac498c
Update to the latest version of the spam filter
2023-10-20 10:52:43 -04:00
Jon Chambers
f0ab52eb5d
Rename "master device" to "primary device"
2023-10-20 10:52:13 -04:00
Jon Chambers
e8cebad27e
Avoid modifying original Account instances when constructing JSON for updates
2023-10-20 10:51:50 -04:00
Jon Chambers
6441d5838d
Clear username links in the same transaction when clearing username hashes
2023-10-20 10:51:50 -04:00
Jon Chambers
ac0c8b1e9a
Introduce a canonical constant for UAK length
2023-10-20 10:50:44 -04:00
Katherine
8ec062fbef
Define an endpoint to set the default payment method for iDEAL subscriptions
2023-10-19 10:29:40 -07:00
Katherine
5990a100db
Add charge failure details to /v1/subscription/boost/receipt_credential 402 response
2023-10-19 10:21:26 -07:00
Jon Chambers
bc35278684
Drop the old AccountCleaner
2023-10-19 10:34:24 -04:00
Jon Chambers
c3c7329ebb
Add a single-shot command for removing expired accounts
2023-10-19 10:34:24 -04:00
Jon Chambers
6fd1c84126
Make command namespace available to subclasses
2023-10-19 10:34:24 -04:00
Jon Chambers
0100f0fcc9
Migrate a username links test from AccountsTest to AccountsManagerUsernameIntegrationTest
2023-10-18 10:20:48 -04:00
Jon Chambers
0cdc32cf65
Really REALLY fix instrumentation for re-registration of recently-deleted accounts
2023-10-18 10:15:03 -04:00
Jon Chambers
601e9eebbd
Implement an anonymous account service for looking up accounts
2023-10-18 10:14:52 -04:00
Jon Chambers
eaa868cf06
Add a remote address interceptor to base gRPC tests
2023-10-18 10:14:52 -04:00
Jon Chambers
f55504c665
Add utility methods for rate-limiting by remote address
2023-10-18 10:14:52 -04:00
Katherine Yen
b2ff016cc1
Add back story ratelimiter with counter but do not enforce
2023-10-17 12:22:17 -04:00
Jon Chambers
33b4f17945
Make username-related operations asynchronous
2023-10-17 12:21:52 -04:00
Jon Chambers
e310a3560b
Remove unused configuration for the legacy Secure Backup Service
2023-10-17 12:21:14 -04:00
Jon Chambers
162b27323e
Fix instrumentation for re-registration of recently-deleted accounts
2023-10-17 12:20:58 -04:00
Jon Chambers
ae976ef8d6
Retire legacy Secure Value Recovery plumbing
2023-10-13 15:32:41 -04:00
Katherine
c6b4e2b71d
Support iDEAL
2023-10-12 09:54:05 -07:00
Jon Chambers
33c8bbd0ce
Trim stale capabilities from the profiles gRPC service
2023-10-12 12:52:32 -04:00
Jon Chambers
f2a3b8dba4
Treat APNs team/key IDs as secrets so they can change atomically with the key itself
2023-10-12 12:52:13 -04:00
Katherine
207ae6129b
Add paymentMethod and paymentProcessing fields to GET /v1/subscription/{subscriberId} endpoint
2023-10-10 09:56:50 -07:00
Katherine
e1aa734c40
Define endpoint to get localized bank mandate text
2023-10-05 09:53:33 -07:00
Jonathan Klabunde Tomer
9b1b03bbfa
Update to the latest version of the spam filter
2023-10-05 09:46:27 -07:00
Jon Chambers
bb7e0528c4
Make account deletion an asynchronous operation
2023-10-04 10:44:50 -04:00
Jonathan Klabunde Tomer
010eadcd10
UnlinkDeviceCommand improvements
2023-10-03 15:14:02 -07:00
Katherine
c43e0b54f2
Exclude SEPA_DEBIT as a supported payment method for certain iOS client versions
2023-10-03 11:34:52 -07:00
Chris Eager
6522b74e20
Remove obsolete metrics
2023-10-03 11:42:25 -05:00
Chris Eager
8c7975d89a
Clear presence only if the connection’s displacement listener is still present
2023-10-03 11:42:25 -05:00
Chris Eager
407070c9fc
Unsubscribe from keyspace notifications only if queue still maps to the listener
2023-10-03 11:42:25 -05:00
Katherine
7821a3cd61
Accommodate PayPal with SEPA changes
2023-09-28 10:28:17 -07:00
Katherine
a00c2fcfdb
Support SEPA
2023-09-28 08:26:01 -07:00
Jonathan Klabunde Tomer
9cd21d1326
count ItemCollectionSizeLimitExceededExceptions persisting messages
2023-09-27 10:58:28 -07:00
Jonathan Klabunde Tomer
aaba95f9b8
return null for empty username hash in AccountIdentityResponse
2023-09-27 10:58:04 -07:00
Chris Eager
8d1135a2a3
Refine RegistrationController logic
...
Local device transfer on iOS uses the `409` status code to prompt the
transfer UI. This needs to happen before sending a `423` and locking
an existing account, since the device transfer
includes the local device database verbatim.
2023-09-25 15:54:31 -05:00
Jon Chambers
f9fabbedce
Convert SubscriptionController request/response entities to records
2023-09-25 12:32:49 -07:00
Chris Eager
16012e6ffe
Remove obsolete ManagedPeriodicWork
2023-09-25 12:15:17 -07:00
Jon Chambers
d10a132b0c
Remove unused methods in SubscriptionController
2023-09-25 12:14:56 -07:00
Sergey Skrobotov
0b3af7d824
gRPC API for external services credentials service
2023-09-25 12:14:49 -07:00
Sergey Skrobotov
d0fdae3df7
Enable header-based auth for WebSocket connections
2023-09-25 12:14:40 -07:00
Ravi Khadiwala
a263611746
editorconfig: keep_simple_classes_in_one_line
2023-09-25 10:10:44 -05:00
Chris Eager
0e989419c6
Add metric for late removal of message availability and displacement listeners
2023-09-19 12:04:24 -05:00
ravi-signal
0fa8276d2d
retry hCaptcha errors
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2023-09-14 16:07:35 -05:00
Ravi Khadiwala
b594986241
Set an idle timeout on registration gRPC client
2023-09-14 16:06:49 -05:00
Sergey Skrobotov
9f3ffa3707
gRPC API for payments service
2023-09-14 11:12:00 -07:00
Jonathan Klabunde Tomer
8e598c19dc
don't attempt to update KEM prekeys if we have no PQ-enabled devices
2023-09-14 11:11:22 -07:00
Katherine
2601d6e906
Convert some fields on CreateProfileRequest and VersionedProfileResponse to byte arrays
2023-09-13 14:00:03 -07:00
Jon Chambers
de41088051
Update to WireMock 2.35.1
2023-09-13 16:56:15 -04:00
Jon Chambers
f2752b2a02
Update to the latest version of the spam filter
2023-09-13 16:02:46 -04:00
Jon Chambers
f0544fab89
Update recently-deleted accounts table transactionally as part of account mutations
2023-09-13 16:02:19 -04:00
Jon Chambers
1b9bf01ab1
Absorb DeletedAccounts into Accounts
2023-09-13 16:02:19 -04:00
Ravi Khadiwala
9945367fa1
Update to the latest version of the spam filter
2023-09-11 15:19:10 -05:00
Katherine
cbc3887226
Define identity key check endpoint in keys anonymous service
2023-09-11 11:57:00 -07:00
Ravi Khadiwala
c11b74e9c0
Update to the latest version of the spam filter
2023-09-11 13:37:07 -05:00
Jon Chambers
2b764c2abd
Don't allow callers to unlink their primary device
2023-09-11 14:29:48 -04:00
Jon Chambers
845fc338d7
Add a (failing) test for removing primary devices from accounts
2023-09-11 14:29:48 -04:00
Sergey Skrobotov
977243ebfd
DRY gRPC tests, refactor error mapping
2023-09-08 17:12:08 -07:00
Chris Eager
29ca544c95
Revert "Set suppressCancel=true in Mono.fromFuture"
...
This reverts commit 8348263fab .
2023-09-07 17:03:33 -05:00
Ravi Khadiwala
94b41d3a2c
Fixup default rate limits
...
A previous refactor left the default rate limits off by a factor of 60.
2023-09-07 16:07:42 -05:00
Chris Eager
92bb783cbb
Use static exception instance when a connection is closed
2023-09-07 16:06:16 -05:00
Chris Eager
8348263fab
Set suppressCancel=true in Mono.fromFuture
2023-09-07 16:06:03 -05:00
Ravi Khadiwala
48f633de11
Fix type for comparison in integration test
2023-09-07 14:41:29 -05:00
Ravi Khadiwala
b3b9a629f3
Update to the latest version of the spam filter
2023-09-07 11:18:48 -05:00
Ravi Khadiwala
5934b7344a
Remove unused captcha configuration
2023-09-07 11:16:32 -05:00
Chris Eager
a9a2e40fed
Move onErrorResume to individual sendMessage Mono
2023-09-07 11:15:57 -05:00
Chris Eager
656326355a
Invert String.equals() to prevent NullPointerException
2023-09-07 11:14:36 -05:00
Chris Eager
b89e2e5355
Propagate certain subscription processor errors to client responses
2023-09-06 15:57:14 -05:00
Chris Eager
2d187abf13
Handle WebSocket sendMessage errors with onErrorResume
2023-09-06 15:53:01 -05:00
Chris Eager
b701412295
Update maven-wrapper.properties
2023-09-06 15:48:27 -05:00
Jonathan Klabunde Tomer
b4dad81220
Update to the latest version of the spam filter
2023-09-05 13:55:07 -07:00
Jonathan Klabunde Tomer
6bccdad998
Update to the latest version of the spam filter
2023-09-05 10:23:39 -07:00
Chris Eager
ecd6b0174a
Add timeouts to crawl chunk join()s
2023-08-31 15:03:19 -05:00
Chris Eager
a1e534a515
Add default request timeout to FaultTolerantHttpClient
2023-08-31 15:03:19 -05:00
Sergey Skrobotov
ebbe19ba63
Add missing copyright headers and reorder some imports
2023-08-30 16:07:53 -07:00
Katherine Yen
6a37b73463
Profile gRPC: Define getExpiringProfileKeyCredential endpoint
2023-08-30 14:56:43 -07:00
Katherine Yen
dd18fcaea2
Profile gRPC: Define getVersionedProfile endpoint
2023-08-30 14:47:11 -07:00
Katherine Yen
5afc058f90
Profile gRPC: Define getUnversionedProfile endpoint
2023-08-30 14:24:43 -07:00
Jon Chambers
5e221fa9a3
Tests for validation of Kyber keys on PNI change/key distribution events
...
Co-authored-by: Jonathan Klabunde Tomer <jkt@signal.org>
2023-08-30 14:07:33 -07:00
Jon Chambers
0e0cb4d422
Drop the non-normalized account crawler
2023-08-30 13:55:41 -04:00
Jonathan Klabunde Tomer
09f6d60ae9
Update to the latest version of the spam filter
2023-08-29 15:52:42 -07:00
Jonathan Klabunde Tomer
9577d552c6
pass challenge type to rate limit reset listeners
2023-08-29 15:19:49 -07:00
Chris Eager
093f17dce2
Update to stripe-java 23.1.1
2023-08-29 15:18:16 -07:00
Jon Chambers
6089f49b9c
Add a gRPC interceptor for getting client addresses
2023-08-29 15:18:06 -07:00
Sergey Skrobotov
cfb910e87e
Adding copyright headers to proto files
2023-08-28 14:39:33 -07:00
Ravi Khadiwala
376cffc61d
Update to the latest version of the spam filter
2023-08-25 16:49:05 -05:00
Chris Eager
d338ba5152
Convert some KeysController methods return CompletableFutures
2023-08-24 11:59:28 -05:00
Chris Eager
f181397664
Add test for round-trip AccountsManager JSON serialization
2023-08-24 11:18:01 -05:00
Chris Eager
708f23a2ee
Remove deprecated identity key and signed pre-key methods
2023-08-24 11:18:01 -05:00
Chris Eager
2d1a979eba
Update libphonenumber to 8.13.19
2023-08-24 11:07:18 -05:00
Chris Eager
ee0be92967
Update to the latest version of the spam filter
2023-08-24 11:06:30 -05:00
Chris Eager
7536b75508
Remove unused test fixtures
2023-08-24 11:06:11 -05:00
Jonathan Klabunde Tomer
7237ae6c54
check that pq last-resort prekeys, if submitted, match device list
2023-08-24 09:04:29 -07:00
Sergey Skrobotov
ca05753a3e
adding 400 response documentation to the API call
2023-08-23 13:20:07 -07:00
Chris Eager
9ca8503eac
Downgrade to stripe-java 22.30.0
2023-08-22 16:31:46 -05:00
Jon Chambers
754f71ce00
Add a gRPC service for working with devices
2023-08-22 16:31:02 -05:00
Jon Chambers
619b05e56c
Add utility a method for requiring authentication with the account's primary device
2023-08-22 16:31:02 -05:00
Jon Chambers
8b13826949
Convert DeviceInfo and DeviceInfoList to a record
2023-08-22 16:31:02 -05:00
Jon Chambers
a96ee57c7e
Defer asynchronous actions when deriving Mono instances from futures
2023-08-22 16:28:02 -05:00
Jon Chambers
ff1ef90a6d
Defer actions taken after rate limit checks
2023-08-22 16:28:02 -05:00
Chris Eager
22905fa8ee
Downgrade logstash-logback-encoder to 7.3
2023-08-21 12:44:02 -05:00
Chris Eager
9e218ddd1c
Update to the latest version of the spam filter
2023-08-21 11:42:11 -05:00
Chris Eager
6f0462622b
Update maven and various plugins
2023-08-21 11:34:08 -05:00
Chris Eager
2f17161163
Update various dependencies
2023-08-21 11:34:08 -05:00
Ravi Khadiwala
17d48b95ac
keep lettuce metrics; strip remote tags
2023-08-18 16:28:19 -05:00
Chris Eager
eeea97e2fe
Return a single OAuth2 credentials JSON
2023-08-18 16:16:31 -05:00
Chris Eager
360e101660
Update to the latest version of the spam filter
2023-08-18 16:13:30 -05:00
Jon Chambers
3501a944a3
Update to the latest version of the spam filter
2023-08-18 11:49:11 -04:00
Jon Chambers
76305190a2
Temporarily restore explicit service/version/environment/host tags
2023-08-17 18:30:59 -04:00
Jon Chambers
ab83990170
Send latency metrics as distributions
2023-08-17 17:10:16 -04:00
Jon Chambers
8103a22026
Submit Micrometer metrics via dogstatsd instead of the Datadog API
2023-08-17 17:01:36 -04:00
Jonathan Klabunde Tomer
1f8e4713ef
limit concurrency of async DynamoDB ops
2023-08-17 13:56:09 -07:00
Katherine Yen
ff9fe2c1be
Remove record equality test
2023-08-17 13:55:27 -07:00
Jon Chambers
7f37c8ee5e
Retire now-unused HTTP transport configuration for Datadog metric reporter
2023-08-17 16:53:53 -04:00
Jon Chambers
ed0a723fef
Include underlying exceptions when logging failures to write exit files
2023-08-17 12:32:45 -04:00
Jon Chambers
5c31ef43c9
Send an HTTP/440 response instead of an HTTP/502 if an upstream provider rejects a "send verification code" request
2023-08-17 12:15:00 -04:00
Katherine Yen
43fd8518c0
Add missing java.util.Base64 import to ProfileController
2023-08-16 14:02:53 -07:00
Katherine Yen
19a08f01e8
Write certain profile data as bytes instead of strings to dynamo and represent those fields as byte arrays on VersionedProfile
2023-08-16 13:45:16 -07:00
Jonathan Klabunde Tomer
33498cf147
Update to the latest version of the spam filter
2023-08-16 10:19:00 -07:00
Jon Chambers
beeb85cf8d
Update to the latest version of the spam filter
2023-08-15 14:21:00 -04:00
Jon Chambers
ccd860207b
Make MessagesManager#clear asynchronous
2023-08-15 14:08:16 -04:00
Jon Chambers
2c835b5c51
Make message deletion from DynamoDB asynchronous
2023-08-15 14:08:16 -04:00
Jon Chambers
5caa951c61
Make MessagesCache#clear methods asynchronous
2023-08-15 14:08:16 -04:00
Jon Chambers
4d8c4d6693
Also delete APNs VOIP tokens when clearing APNs tokens
2023-08-15 14:08:00 -04:00
Jon Chambers
a9d0574ea8
Remove most @Timed annotations
2023-08-15 14:06:31 -04:00
Jonathan Klabunde Tomer
3954494eae
Update to the latest version of the spam filter
2023-08-11 15:11:58 -07:00
Ravi Khadiwala
ed6a2c55eb
adjust lettuce metric denial for post-transform name
2023-08-11 09:43:41 -05:00
Ravi Khadiwala
b6ee074149
fix captcha shortening url path resolution
2023-08-10 16:01:56 -05:00
Ravi Khadiwala
f6b3500e92
remove most high cardinality lettuce metrics
2023-08-10 16:01:16 -05:00
Katherine Yen
a71dc48b9b
Prepare to read profile data stored as byte arrays
2023-08-10 14:00:35 -07:00
Katherine Yen
bc5eed48c3
Add authentication interceptor to profile gRPC service
2023-08-10 13:59:46 -07:00
Jon Chambers
2ecf3cb303
Revert "Don't immediately require PNI-associated keys for "atomic" device linking"
...
This reverts commit 4ec97cf006 .
2023-08-10 16:59:35 -04:00
Jon Chambers
bed33d042a
Revert "Require PNI-associated keys if the target account has a PNI identity key"
...
This reverts commit 1dde612855 .
2023-08-10 16:59:35 -04:00
Jonathan Klabunde Tomer
d7975626be
Update to the latest version of the spam filter
2023-08-10 09:58:26 -07:00
Ravi Khadiwala
3ac7aba6b2
Add a captcha short-code expander
2023-08-09 12:41:31 -05:00
Jon Chambers
1dde612855
Require PNI-associated keys if the target account has a PNI identity key
2023-08-09 12:10:56 -04:00
Jon Chambers
4ec97cf006
Don't immediately require PNI-associated keys for "atomic" device linking
2023-08-09 12:10:56 -04:00
Jon Chambers
d51c6fd2f8
Convert Device.Capabilities to a record
2023-08-08 15:38:37 -04:00
Jon Chambers
d868e3075c
Retire fully-adopted device capabilities
2023-08-08 15:38:37 -04:00
Jon Chambers
ae61ee5486
Retire AnalyzeDeviceCapabilitiesCommand
2023-08-08 15:38:37 -04:00
Katherine Yen
58fd9ddb27
Count profile data that cannot be parsed as base64
2023-08-08 10:54:25 -07:00
Katherine Yen
a953cb33b7
Define ProfileController protobufs and setProfile endpoint
2023-08-08 10:53:11 -07:00
Jon Chambers
95b90e7c5a
Add a preliminary gRPC service for dealing with calling credentials
2023-08-08 12:46:55 -04:00
Jon Chambers
6a3ecb2881
Convert TurnToken to a record
2023-08-08 12:46:55 -04:00
Jon Chambers
6cf4241283
Add a reactive method for checking rate limits by UUID
2023-08-08 12:46:55 -04:00
Jon Chambers
42141e51a1
Use ACIs instead of E164s for TURN URI overrides
2023-08-08 12:46:55 -04:00
Jon Chambers
b01945ff50
Clarify parameterized tests by modifying prototype request objects; remove spurious warning suppressions
2023-08-08 10:33:29 -04:00
Jon Chambers
a131f2116f
Retire verification code storage machinery
2023-08-04 17:26:55 -04:00
Jon Chambers
625637b888
Stop checking for stored verification codes when linking devices
2023-08-04 17:26:55 -04:00
Jon Chambers
c873f62025
Produce verification tokens instead of stored verification codes for linking devices
2023-08-04 16:04:47 -04:00
Jon Chambers
43d91e5bd6
Convert VerificationCode to a record
2023-08-04 16:04:47 -04:00
Jon Chambers
5c4c729703
Disallow reuse of device verification tokens
2023-08-04 13:40:37 -05:00
Jon Chambers
308da3343d
Accept signed tokens in addition to randomly-generated codes for authorizing device linking
2023-08-04 13:40:37 -05:00
Chris Eager
48c7572dd5
Add CommandStopListener
2023-08-04 13:29:35 -05:00
Ravi Khadiwala
dc5f35460b
Update to the latest version of the spam filter
2023-08-04 11:38:33 -05:00
Jon Chambers
69ea9b0296
Add a request counter tagged by client version
2023-08-04 12:16:48 -04:00
Jon Chambers
969c6884c0
Add a command for analyzing device capabilities
2023-08-04 12:14:08 -04:00
Jon Chambers
fcf311aab3
Retire the PendingAccounts table
2023-08-04 12:13:57 -04:00
ravi-signal
888879dfb2
Estimate message byte limit exceeded error count
2023-08-04 11:10:58 -05:00
Chris Eager
e003197f77
Update to protobuf-java 3.23.3
2023-08-03 17:09:31 -05:00
Chris Eager
f57910cd97
Update to dropwizard 2.1.7, jackson 2.13.5
2023-08-03 16:18:27 -05:00
Chris Eager
d85e25dba0
Update to the latest version of the spam filter
2023-08-02 16:17:22 -05:00
Chris Eager
89a4034fc6
Remove s3-upload from deploy phase
2023-08-02 16:16:27 -05:00
Chris Eager
f53743d287
Add configuration for Datadog UDP transport
2023-08-02 13:54:15 -05:00
Jon Chambers
2d132128e1
Switched to a composed request object model for anonymous keys gRPC operations
2023-07-28 14:20:24 -05:00
Chris Eager
6e5ffbe7b5
Restore aci field to BatchIdentityCheckRequest
2023-07-28 14:16:48 -05:00
Jonathan Klabunde Tomer
a81c9681a0
Update to the latest version of the spam filter
2023-07-26 14:57:18 -07:00
Ravi Khadiwala
baf98accd0
acquire lock before checking message listeners in MessagesCache
2023-07-26 16:45:53 -04:00
Ravi Khadiwala
901c950ee6
Add metrics to keyspace-notifier executor
2023-07-26 16:45:53 -04:00
Ravi Khadiwala
50ac7f9dc2
adjust messageDeletionAsyncExecutor core pool size
2023-07-26 16:45:41 -04:00
Jon Chambers
c2ea4a5290
Update to the latest version of the spam filter
2023-07-26 16:45:13 -04:00
Jon Chambers
b691b8d37d
Log successful client version refreshes
2023-07-26 16:41:54 -04:00
Jon Chambers
4ead8527c8
Use ClientReleasesManager when deciding whether to add client version tags
2023-07-26 16:41:54 -04:00
Jon Chambers
6f4801fd6f
Add a manager class for checking "liveness" of client versions
2023-07-26 16:41:54 -04:00
Jon Chambers
10689843b0
Add a repository for client release information
2023-07-26 16:41:54 -04:00
Chris Eager
60cc0c482e
Add @Produces to PUT /v1/accounts/apn
2023-07-26 16:35:23 -04:00
Jon Chambers
e1a5105c28
Revert "Restore max concurrency when migrating pre-keys"
...
This reverts commit ed8a1ed579 .
2023-07-26 12:56:35 -04:00
Jon Chambers
ed8a1ed579
Restore max concurrency when migrating pre-keys
2023-07-26 12:34:32 -04:00
Jon Chambers
c3fd2e2284
Retry key storage attempts when migrating signed pre-keys
2023-07-26 12:34:32 -04:00
Chris Eager
872ef5d0a0
Add environment variable to toggle tcp appender
2023-07-24 13:13:13 -05:00
Chris Eager
b44599cd59
Remove unused jedis library
2023-07-24 10:54:34 -04:00
Jordan Rose
7a5dcc700e
Add support for AuthCredentialAsPni with pniAsServiceId=true
...
Update to libsignal 0.30.0, and add a new query param to
/v1/certificate/auth/group, "pniAsServiceId=true", that uses the new
encoding of PNIs in zkgroup rather than encoding PNIs the same way as
ACIs, as we have been doing.
Also includes all the adjustments for the libsignal 0.30.0 update.
2023-07-24 10:53:59 -04:00
ravi-signal
705fb93e45
Add v4 attachment controller
...
Add AttachmentControllerV4 which can be configured to generate upload
forms for a TUS based CDN
2023-07-21 12:09:45 -05:00
Jon Chambers
9df923d916
Update keys gRPC endpoint to use service identifiers
2023-07-21 13:03:01 -04:00
Chris Eager
dc1cb9093a
Remove unused code
2023-07-21 11:08:32 -05:00
Jon Chambers
e32043ae79
Remove outdated documentation
2023-07-21 10:24:17 -04:00
Jon Chambers
881c921d56
Update to the latest version of the spam filter
2023-07-21 09:44:53 -04:00
Jon Chambers
abb32bd919
Introduce "service identifiers"
2023-07-21 09:34:10 -04:00
Katherine Yen
4a6c7152cf
Update to the latest version of the spam filter
2023-07-20 14:37:12 -07:00
Sergey Skrobotov
cf92007f66
Moving Account serialization logic to storage-specific classes
2023-07-20 14:28:07 -07:00
Jon Chambers
f5c57e5741
Make ContestedOptimisticLockException extend NoStackTraceRuntimeException
2023-07-20 11:15:08 -04:00
Jon Chambers
5627209fdd
Add a gRPC service for working with pre-keys
2023-07-20 11:10:26 -04:00
Jonathan Klabunde Tomer
0188d314ce
minor username api refinements
2023-07-19 15:12:47 -07:00
Jonathan Klabunde Tomer
67343f6bdc
accept encrypted username with confirm-username-hash requests
2023-07-19 10:54:11 -07:00
Katherine Yen
ade2e9c6cf
Define asynchronous ProfilesManager operations
2023-07-19 10:43:58 -07:00
Sergey Skrobotov
352e1b2249
test classes moved to same packages with components they test
2023-07-17 13:34:58 -07:00
Jon Chambers
b8d8d349f4
Control inbound message byte limits with a dynamic configuration flag
2023-07-14 16:25:33 -04:00
Jon Chambers
e87468fbe0
Add a rate limit for inbound message bytes for a given account
2023-07-14 16:25:33 -04:00
Jon Chambers
e38a713ccc
Support sub-millisecond permit regeneration durations in rate limiters
2023-07-14 16:25:33 -04:00
Jon Chambers
82ed783a2d
Introduce async account updaters
2023-07-14 16:25:19 -04:00
Jon Chambers
d17c7aaba6
Add support for clearing accounts from Redis asynchronously
2023-07-14 16:25:19 -04:00
Katherine Yen
8c93368b20
Update to the latest version of the spam filter
2023-07-13 12:43:07 -07:00
Jon Chambers
41f61c66a3
Add public methods for fetching accounts asynchronously
2023-07-13 13:53:29 -04:00
Jon Chambers
1b7a20619e
Add tools for testing asynchronous Redis operations
2023-07-13 13:53:29 -04:00
Jon Chambers
7d19e58953
Add parallel pathways for getting accounts asyncronously to Accounts
2023-07-13 13:53:29 -04:00
Jon Chambers
1605676509
Store signed EC pre-keys in a dedicated table when setting signed pre-keys individually
2023-07-12 14:58:10 -04:00
Jon Chambers
a0d6146ff5
Make key deletion operations asynchronous
2023-07-12 14:58:10 -04:00
Jon Chambers
f709b00be3
Make KeysManager storage/retrieval operations asynchronous
2023-07-12 14:58:10 -04:00
Jonathan Klabunde Tomer
5847300290
Revert "Allow use of the token returned with spam challenges as auth for the challenge verification request"
2023-07-12 11:45:02 -07:00
Jonathan Klabunde Tomer
9aaac0eefd
don't require all devices to support PNI for PNIHW
2023-07-12 10:14:16 -07:00
Jon Chambers
c5ae9913fe
Update to the latest version of the spam filter
2023-07-11 13:48:07 -04:00
Jon Chambers
fc2ad20c63
Update to the latest version of the spam filter
2023-07-11 13:36:12 -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
Jon Chambers
adf6c751ee
Use an explicit-allow model for tagging client versions in metrics
2023-07-11 13:35:29 -04:00
Jon Chambers
c315b34395
Update formatting in UserAgentTagUtil
2023-07-11 13:35:29 -04:00
Jon Chambers
f592201e4c
Limit attachment controller tags to UA platform (instead of platform and version)
2023-07-11 13:35:29 -04:00
Jon Chambers
8bf5ee45ed
Filter out command tags from Lettuce metrics and prepend a "chat." prefix to Lettuce metric names
2023-07-11 13:35:03 -04:00
Jon Chambers
25f759dd07
Drop ActiveUserTally
2023-07-11 13:34:36 -04:00
Jonathan Klabunde Tomer
e5f4c17148
update openapi docs for several endpoints, notably those with PQXDH changes
...
Co-authored-by: Katherine Yen <katherine@signal.org>
2023-07-06 15:45:33 -07:00
Jonathan Klabunde Tomer
098b177bd3
Allow use of the token returned with spam challenges as auth for the challenge verification request
2023-07-06 15:25:19 -07:00
Jon Chambers
ef1a8fc50f
Use PascalCase RPC names for the registration service
2023-07-06 17:12:37 -04:00
Jon Chambers
76f2e93a2c
Reduce concurrency limit for pre-key migration task
2023-07-06 16:45:03 -04:00
Jon Chambers
25ea1df299
Limit concurrency when writing signed EC pre-keys
2023-07-06 15:51:12 -04:00
Chris Eager
5ced86af1d
Set consistentRead=true for registration recovery password lookup
...
This avoids a race condition (in integration test situations) where a lookup could return no results
2023-07-06 15:47:16 -04:00
Jon Chambers
62e02a49df
Log errors from single-shot account crawlers rather than printing them to stderr
2023-07-06 15:46:28 -04:00
Jon Chambers
540550d72a
Handle exceptions thrown when checking pre-key signatures
2023-07-06 15:46:11 -04:00
Jon Chambers
8cb83fb6e4
Switch to temporary registration endpoints to facilitate a change from snake_case to PascalCase
2023-07-06 15:46:00 -04:00
Jon Chambers
56db925f0e
Update to the latest version of the spam filter
2023-07-06 10:33:58 -04:00
Jon Chambers
2c0fc8fe3e
Remove legacy methods from RegistrationServiceClient
2023-07-06 10:32:58 -04:00
Jon Chambers
08c7baafac
Remove legacy registration endpoints from AccountController
2023-07-06 10:32:58 -04:00
Jon Chambers
8edb450d73
Parallelize single-shot account crawlers
2023-07-06 10:15:16 -04:00
ravi-signal
fedeef4da5
Add an optional parameter to require atomic account creation
...
By default, if a registration request has no optional fields for atomic
account creation set, the request will proceed non-atomically. If a
client sets the `atomic` field, now such a request would be rejected.
2023-07-05 11:24:11 -05:00
Jon Chambers
b593d49399
Control signed pre-key deletion via a dynamic configuration flag to facilitate migration
2023-07-05 12:17:17 -04:00
Chris Eager
4a91fc3c3d
Set daemon=true for pubsub topology change event thread
2023-07-05 11:15:12 -05:00
Chris Eager
bb9605d7c3
Use RedisClient#setDefaultTimeout for a non-clustered client
2023-07-05 11:09:28 -05:00
Jon Chambers
1049326a70
Turn on Lettuce latency metrics
2023-06-30 18:20:43 -04:00
Chris Eager
457ecf145f
Add test for Redis timeouts
2023-06-30 12:55:37 -05:00
Chris Eager
463dd9d7d8
Update to Lettuce 6.2.4
2023-06-30 12:55:37 -05:00
Chris Eager
bdcd055aaf
Configure Redis timeouts using TimeoutOptions and RediURI
2023-06-30 12:55:37 -05:00
Jon Chambers
30ae2037e8
Correct order of constructor arguments for KeysManager
2023-06-30 12:05:16 -04:00
Jon Chambers
ce4fdbfb3c
Untangle metric names for RepeatedUseSignedPreKeyStore subclasses
2023-06-30 10:33:24 -04:00
Jon Chambers
2d154eb0cf
Add a command to copy signed pre-keys from Account records to their own table
2023-06-30 10:33:24 -04:00
Jon Chambers
a3e82dfae8
Add a temporary method for storing signed EC pre-keys if and only if another key has not already been stored
2023-06-30 10:33:24 -04:00
Jon Chambers
97a7469432
Measure signed EC pre-key agreement
2023-06-30 10:33:24 -04:00
Jon Chambers
1a1defb055
Store signed EC pre-keys in a dedicated table
2023-06-30 10:33:24 -04:00
Jon Chambers
93c78b6e40
Introduce RepeatedUseECSignedPreKeyStore
2023-06-30 10:33:24 -04:00
Chris Eager
b852d6681d
FaultTolerantHttpClient: used managed ScheduledExecutorService for retries
2023-06-30 10:24:18 -04:00
Chris Eager
8e48ac4ede
Add messagesCache and clientPresenceManager to managed command dependencies
2023-06-30 10:24:18 -04:00
Ehren Kret
859f646c55
Correct timestamp resolution to intended integer value
2023-06-29 16:05:59 -05:00
Chris Eager
fb39b2edaf
Improve two @Disabled flaky tests
2023-06-29 14:56:41 -05:00
Chris Eager
d7bf815bd5
Update to the latest version of the spam filter
2023-06-28 14:30:15 -05:00
Chris Eager
c93af9e31e
Remove MessagePersister from WhisperServerService environment
...
Persistence is now exclusively done by a separate command.
2023-06-28 14:17:49 -05:00
Chris Eager
b81a0e99d4
Always have 0 ApnPushNotificationScheduler worker threads in front-end service
2023-06-28 14:17:23 -05:00
Chris Eager
f8fefe2e5e
Remove AccountCrawler (and doPeriodicWork) from WhisperServerService
2023-06-28 14:16:07 -05:00
Jon Chambers
f26bc70b59
Add a basic, prototype authentication interceptor for gRPC services
2023-06-27 10:21:11 -04:00
Jon Chambers
b5fd131aba
Add an abstract base class for single-shot account crawls
2023-06-27 10:18:35 -04:00
Jon Chambers
06997e19e0
Add a method for iterating across all accounts
2023-06-27 10:18:35 -04:00
Jon Chambers
97710540c0
Use Timer.Sample throughout Experiment
2023-06-27 10:18:20 -04:00
Jon Chambers
c78c109577
Drop a disused endpoint for fetching the caller's own signed pre-key
2023-06-27 10:16:39 -04:00
Jonathan Klabunde Tomer
8d995e456e
initial grpc service code in chat
2023-06-26 17:10:13 -07:00
Ehren Kret
cc3cab9c88
Add server time to remote config fetch
...
Enable clients to very roughly adjust some actions for clock skew by
providing current server time in the remote config fetch.
2023-06-21 17:11:35 -05:00
Jon Chambers
0122b410be
Include push notification urgency in push latency metrics
2023-06-21 15:10:26 -04:00
Jon Chambers
2ddd2b9476
Convert PushRecord to a record and make PushType non-optional
2023-06-21 15:10:26 -04:00
Jon Chambers
a768498250
Record general message delivery latency
2023-06-21 15:10:14 -04:00
Sergey Skrobotov
a45aadae16
Cleaning up references to the legacy format from the rate limiters lua script
2023-06-21 15:09:46 -04:00
Sergey Skrobotov
25802432c2
adding a property to skip uploading to s3 during deploy task
2023-06-21 15:09:18 -04:00
Chris Eager
98578b18aa
Update to dynamodb-lock-client 1.2.0
2023-06-21 15:08:40 -04:00
Chris Eager
6d81f69785
Start and stop all lifecycle-managed objects in CrawlAccountsCommand
2023-06-17 10:17:46 -05:00
Chris Eager
7dce183170
Add worker thread pool to PushFeedbackProcessor
2023-06-16 11:36:28 -05:00
Chris Eager
f1962a03ef
Parameterize worker thread count in CrawlAccountsCommand
2023-06-16 11:36:28 -05:00
Jon Chambers
cb26bfd807
Update to the latest version of the spam filter
2023-06-15 13:12:54 -04:00
Chris Eager
befd336372
Remove static Remote Config auth tokens
2023-06-15 12:11:20 -05:00
Chris Eager
8501e61eb1
Set maxThreads = minThreads on command thread pools
2023-06-15 12:11:10 -05:00
Jon Chambers
ae489e5a52
Log account ages when identity keys change
2023-06-15 13:10:35 -04:00
Chris Eager
13afdbda97
Report system resource metrics from background tasks
2023-06-14 16:48:23 -05:00
Jon Chambers
9cfd88a23f
Move turn secret to static configuration
2023-06-14 10:47:17 -04:00
Jon Chambers
13456bad3a
Update date math with JSR310 types
2023-06-14 10:47:17 -04:00
Jon Chambers
45be85c5ef
Update formatting and resolve warnings/suggestions
2023-06-14 10:47:17 -04:00
Jonathan Klabunde Tomer
861dc0d021
reject message sends that have the same device more than once
2023-06-13 09:49:50 -07:00
Chris Eager
128d709c99
Additional counters and timers for WebSocket connections
2023-06-13 11:46:15 -05:00
Jon Chambers
e8f01be8ef
Inject version bytes if missing from existing EC pre-keys
2023-06-09 11:41:51 -04:00
Jon Chambers
7f1ee015d1
Treat blank strings as null pre-keys
2023-06-09 10:39:16 -04:00
Jon Chambers
17aa5d8e74
Use strongly-typed pre-keys
2023-06-09 10:08:49 -04:00
Jon Chambers
b27334b0ff
Treat blank strings as null identity keys
2023-06-09 10:08:18 -04:00
Jon Chambers
7fc6b1e802
Count invalid pre-keys
2023-06-09 09:25:31 -04:00
Jon Chambers
25b7c8f802
Update to libsignal-server 0.26.0
2023-06-09 09:25:31 -04:00
Jon Chambers
8ec6a24a2d
Fix a metric name/tag set
2023-06-08 12:34:27 -04:00
Jon Chambers
234707169e
Represent identity keys as IdentityKey instances
2023-06-08 11:36:58 -04:00
Jon Chambers
1c8443210a
Check for missing version bytes in invalid identity keys
2023-06-08 09:56:21 -04:00
g1a55er
aaf43a592f
Replace reserved "notification" key with "newMessageAlert"
2023-06-08 09:53:31 -04:00
Jon Chambers
2b08742c0a
Create separate key stores for different kinds of pre-keys
2023-06-06 17:08:26 -04:00
Jon Chambers
cac04146de
Identify specific cases with invalid identity keys
2023-06-06 17:08:01 -04:00
ravi-signal
2b266c7beb
Validate registration ids for new accounts
2023-06-06 11:08:54 -04:00
Jonathan Klabunde Tomer
099932ae68
ApnPushNotifcationScheduler: always run worker thread at least once
2023-06-06 11:04:44 -04:00
Jon Chambers
8579babde6
Count instances where an account's identity key could not be interpreted as an IdentityKey
2023-06-06 11:01:25 -04:00
Jon Chambers
9c93d379a8
Fix a sneaky merge conflict
2023-06-05 12:38:35 -04:00
Jon Chambers
085c7a67c8
Refactor account locks/deleted account manager
2023-06-05 12:30:44 -04:00
Sergey Skrobotov
e6917d8427
minor cleanup, docs, and integration tests for username API
2023-06-02 10:35:07 -07:00
Sergey Skrobotov
47cc7fd615
username links API
2023-06-02 10:26:14 -07:00
Jonathan Klabunde Tomer
ecd207f0a1
Check structural validity of prekeys at upload time
2023-05-31 14:29:39 -07:00
Chris Eager
0ab66f2f14
Add aws-java-sdk-sts to dependencies
2023-05-31 14:57:48 -05:00
Chris Eager
d1e38737ce
Support ID token at PUT /v1/config and DELETE /v1/config
2023-05-30 10:28:28 -05:00
Chris Eager
f17de58a71
Change ScheduledApnPushNotificationSenderServiceCommand to extend ServerCommand
2023-05-30 10:14:33 -05:00
Chris Eager
dd552e8e8f
Change MessagePersisterServiceCommand to extend ServerCommand
2023-05-30 10:14:33 -05:00
Chris Eager
18480e9d18
Move metrics registry environment.manage() to utility
2023-05-30 10:14:33 -05:00
Chris Eager
7ffccd9c3a
Initialize metrics in ScheduledApnPushNotificationSenderServiceCommand
2023-05-26 16:41:17 -05:00
Chris Eager
0edd99e9cf
Initialize metrics in MessagePersisterServiceCommand
2023-05-26 16:41:17 -05:00
Chris Eager
defdc14d5e
Initialize metrics in CrawlAccountsCommand
2023-05-26 16:41:17 -05:00
Chris Eager
5dcf8edd38
Factor metrics registry intialization to a utility
2023-05-26 16:41:17 -05:00
Jon Chambers
a320766bb6
Update to the latest version of the spam filter
2023-05-26 14:22:52 -04:00
Jon Chambers
91805caa9a
Finalize rate limit unit inversion
2023-05-26 14:17:30 -04:00
Jon Chambers
48d39dccbd
Fix rate limit division errors
2023-05-26 13:13:02 -04:00
Jon Chambers
fc9e1f59a5
Update to the latest version of the spam filter
2023-05-26 12:46:36 -04:00
Chris Eager
e7bc8bd6b9
Consistently use AWS credentials providers from WhisperServerService
2023-05-26 12:45:38 -04:00
Jon Chambers
23337d7992
Update to the latest version of the spam filter
2023-05-26 11:43:16 -04:00
Jon Chambers
f513dc0398
Invert rate limit units in default configurations
2023-05-26 11:37:06 -04:00
Jon Chambers
184969336e
Allow RateLimiterConfig to accept either a leak rate per minute or a permit regeneration duration
2023-05-26 11:37:06 -04:00
Chris Eager
1534f1aa6a
Add web identity token AWS SDK credentials provider
2023-05-26 11:07:41 -04:00
Chris Eager
cd8f74e60b
Add support for environment-dependent secondary OAuth2 credentials JSON
2023-05-26 11:07:30 -04:00
Jon Chambers
d832eaa759
Represent identity keys as byte arrays
2023-05-26 10:12:22 -04:00
Jon Chambers
796863341d
Revert "Count identity keys that are present, but can't be parsed as base64"
...
This reverts commit 024dd02628a7d989424273501528b52fe18c3ee9.
2023-05-26 10:12:22 -04:00
Jon Chambers
217b68a1e0
Represent pre-key public keys and signatures as byte arrays in DAOs
2023-05-26 09:58:38 -04:00
Jon Chambers
4a8ad3103c
Actually write pre-keys as byte arrays
2023-05-26 08:23:54 -04:00
Jon Chambers
a5f853c67a
Change inactive account age threshold from 365 to 180 days
2023-05-26 08:23:19 -04:00
Jon Chambers
70b54e227e
Count the prevalence of keys stored as strings or as bytes
2023-05-25 10:04:38 -05:00
Jonathan Klabunde Tomer
1ab6bff54e
add @Produces annotations to a few methods in DeviceController
2023-05-25 09:57:06 -05:00
Chris Eager
c2317e8493
Start the dynamic configuration manager in dependent commands
2023-05-25 09:52:01 -05:00
Jon Chambers
b034a088b1
Add support for "atomic" device linking/activation
2023-05-19 16:13:37 -04:00
Jon Chambers
ae7cb8036e
Factor DeviceActivationRequest out into its own record
2023-05-19 16:13:37 -04:00
Jon Chambers
1a5327aece
Update to the latest version of the spam filter
2023-05-19 15:59:09 -04:00
Jon Chambers
8ce2b04fe4
Discard test device codes
2023-05-19 15:57:14 -04:00
Chris Eager
a3c37aed47
Remove obsolete field from SecureValueRecovery2Configuration
2023-05-19 15:57:01 -04:00
Jon Chambers
fa8f19fd43
Group atomic account creation operations
2023-05-19 15:56:45 -04:00
Jon Chambers
c9a9409b9a
Count identity keys that are present, but can't be parsed as base64
2023-05-19 15:56:27 -04:00
Jon Chambers
d3e0ba6d44
Prepare to read pre-keys stored as byte arrays
2023-05-19 15:56:13 -04:00
Jon Chambers
300ac16cf1
Handle "transport not allowed" responses from the registration service
2023-05-19 15:55:53 -04:00
Chris Eager
3e53884979
Add MessagePersisterServiceCommand
2023-05-18 15:37:54 -05:00
Chris Eager
859fbe9ab1
Update to the latest version of the spam filter
2023-05-18 11:44:38 -05:00
Chris Eager
6043c1a4e8
Add ScheduledApnPushNotificationSenderServiceCommand
2023-05-18 11:44:01 -05:00
Chris Eager
0d9fd043a4
Add container image build using Jib
2023-05-18 11:43:29 -05:00
Chris Eager
f06eaf13d1
Send 1009 for too-large message frames
2023-05-18 11:42:22 -05:00
Jon Chambers
66a619a378
Allow for atomic account creation and activation
2023-05-18 09:51:13 -04:00
Jon Chambers
fb1b1e1c04
Update libsignal-server to 0.24.0
2023-05-18 09:51:13 -04:00
Katherine Yen
9450f88c8c
Add annotation to catch empty request body
2023-05-17 14:28:41 -07:00
Sergey Skrobotov
0706171264
Update to the latest version of the spam filter
2023-05-17 11:43:17 -07:00
Sergey Skrobotov
287e2fa89a
Moving secret values out of the main configuration file
2023-05-17 11:25:59 -07:00
Chris Eager
8d1c26d07d
Add CrawlAccountsCommand
2023-05-17 12:22:49 -05:00
Jonathan Klabunde Tomer
caae27c44c
PQXDH endpoints for chat server
2023-05-16 14:34:33 -07:00
Katherine Yen
34d77e73ff
Fix integer division in call link ratelimit leak rate
2023-05-16 14:34:06 -07:00
Chris Eager
0889741f34
Update GitHub Actions versions
2023-05-12 12:53:47 -05:00
Ravi Khadiwala
8c42199baf
Add svr2 credentials to RegistrationLockFailure responses
...
Add an svr2 credential to 423 responses for:
- PUT v2/accounts/number
- POST v1/registration
Also add some openapi annotations to those endpoints
2023-05-12 11:02:32 -05:00
Katherine Yen
7395b5760a
Remove unused call link config
2023-05-12 11:01:42 -05:00
Jon Chambers
c8f97ed065
Update to the latest version of the spam filter
2023-05-10 15:29:10 -04:00
Jon Chambers
d2baa8b8fb
Stop sending API keys to the registration service
2023-05-10 15:28:12 -04:00
Jon Chambers
1beee5fd04
Update to the latest version of the spam filter
2023-05-10 15:01:37 -04:00
Chris Eager
281b91a59a
Remove obsolete ContactDiscoveryWriter
2023-05-10 14:01:09 -05:00
Jon Chambers
2be2b4ff23
Authenticate with the registration service using OIDC identity tokens in addition to shared API keys
2023-05-10 14:59:07 -04:00
Jon Chambers
a83fd1d3fe
Include request method as a request counter dimension
2023-05-09 15:17:46 -05:00
Jon Chambers
cb72e4f426
Simplify request counter
2023-05-09 15:17:46 -05:00
Chris Eager
3214852a41
Fix 401 on /v1/keepalive
2023-05-09 15:08:03 -05:00
Jon Chambers
1057bd7e1f
Resolve warnings/suggestions throughout ProfileControllerTest
2023-05-09 10:32:32 -04:00
Jonathan Klabunde Tomer
33903553ab
reinstate per-{path,status,platform,is-websocket} request counters
2023-05-09 09:49:20 -04:00
Katherine Yen
c309afc04b
Displace client presence when existing account reregisters
2023-05-05 11:31:18 -07:00
Erik Osheim
f6c4ba898b
Update to the latest version of the spam filter
2023-05-05 11:22:29 -04:00
Katherine Yen
7ba86b40aa
Create call link credential endpoint
2023-05-04 14:33:45 -07:00
Katherine Yen
b2b0aee4b7
Call link auth credential
2023-05-04 14:17:01 -07:00
Jon Chambers
919cc7e5eb
Update libsignal to 0.23
2023-05-04 14:10:51 -07:00
Jonathan Klabunde Tomer
e38911b2c5
Always check prekey signatures when new prekeys are uploaded
2023-05-04 11:31:45 -07:00
Chris Eager
bc68b67cdf
account crawler: remove obsolete accelerated mode
2023-05-04 11:27:16 -05:00
Chris Eager
42a9f1b3e4
account crawler: remove set*Dynamo methods
2023-05-04 11:27:16 -05:00
ravi-signal
08333d5989
Implement /v2/backup/auth/check
2023-05-04 11:23:33 -05:00
Ravi Khadiwala
0e0c0c5dfe
return 400 instead of 503 for bad verification session-id
2023-05-04 09:22:51 -07:00
Ravi Khadiwala
59ebe65643
Add counter to /v2/attachments
2023-05-04 09:22:18 -07:00
Chris Eager
4fd2422e4d
Catch and close() after UninitializedMessageException in websocket messages
2023-05-03 13:36:29 -05:00
Chris Eager
6181d439f6
Update to the latest version of the spam filter
2023-05-03 13:35:35 -05:00
Chris Eager
57b6c10dd1
Remove obsolete dynamic configuration
2023-05-03 13:20:44 -05:00
Jon Chambers
3ee5ac4514
Fix a late-breaking merge conflict
2023-05-02 16:12:26 -04:00
Jonathan Klabunde Tomer
be176f98ad
metric for take-prekey yielding an empty result
2023-05-02 13:03:49 -07:00
Jon Chambers
12b58a31a1
Retire integration with legacy contact discovery system
2023-05-02 15:57:03 -04:00
Jon Chambers
8d468d17e3
Add a temporary counter for profile key credential types
2023-05-02 15:56:19 -04:00
Erik Osheim
30df4c3d29
Update to the latest version of the spam filter
2023-05-02 10:37:22 -05:00
Brenden Stahle
5122a1c466
Change the copyright date from 2022 to 2023.
2023-05-02 10:31:04 -05:00
Chris Eager
e135d50d82
Add counter for ContactDiscoverWriter updates
2023-05-01 13:42:14 -05:00
Chris Eager
487b5edc75
Handle potentially null payment method when canceling subscription
2023-05-01 13:42:05 -05:00
Jonathan Klabunde Tomer
47ad5779ad
new /v2/accounts endpoint to distribute PNI key material without changing phone number
2023-04-21 12:20:57 -07:00
Katherine Yen
4fb89360ce
Allow registration via recovery password for reglock enabled accounts
2023-04-20 09:21:04 -07:00
Jon Chambers
6dfdbeb7bb
Check for no-op APNs token changes
2023-04-19 17:01:01 -04:00
Jon Chambers
d0ccbd5526
Simplify a check for no-op FCM token changes
2023-04-19 17:01:01 -04:00
Jon Chambers
031ee57371
Convert "set push token" request objects to records
2023-04-19 17:01:01 -04:00
Jon Chambers
2043678739
Remove the removeSignalingKey API endpoint
2023-04-19 17:00:47 -04:00
Jon Chambers
dd27e3b0c8
Convert attachment descriptors to records
2023-04-19 17:00:34 -04:00
Jon Chambers
1083d8bde0
Remove the legacy group credential endpoint
2023-04-19 17:00:14 -04:00
Jon Chambers
d1eb247d8c
Clarify the purpose of an addListener method
2023-04-18 12:04:54 -04:00
Jon Chambers
fd5e9ea016
Drop the old (and now unused!) redis-dispatch module
2023-04-18 12:04:54 -04:00
Jon Chambers
11829d1f9f
Refactor provisioning plumbing to use Lettuce
2023-04-18 12:04:54 -04:00
Ehren Kret
ae70d1113c
use same protoc version as library dependency
2023-04-17 14:41:55 -05:00
Katherine Yen
c485d317fb
Mock apnPushNotificationScheduler
2023-04-17 10:55:15 -07:00
Katherine Yen
350682b83a
Lock account and send notification when someone passes phone verification but fails reglock
2023-04-17 10:30:36 -07:00
ravi-signal
0fe6485038
Add a configuration to make rate limiters fail open
2023-04-14 13:08:14 -05:00
Sergey Skrobotov
a553093046
integration tests initial setup
2023-04-13 11:12:34 -07:00
Erik Osheim
af0d5adcdc
Update to the latest version of the spam filter
2023-04-11 16:40:03 -04:00
Katherine Yen
61af1ba029
Clean up prohibited username references
2023-04-10 15:21:02 -07:00
ravi-signal
8847cb92ac
Don't block when scheduling background apns pushes
2023-04-10 13:51:36 -05:00
Erik Osheim
5242514874
Update to the latest version of the spam filter
2023-04-07 17:13:48 -04:00
Chris Eager
33a6577b6e
Decrease message delivery executor thread count to 20
2023-04-07 10:56:23 -05:00
Chris Eager
23d5006f70
Add prefix to executor metric names
2023-04-05 09:51:53 -05:00
Chris Eager
2697872bdd
Use Apache StringUtils#join
2023-04-05 09:51:30 -05:00
Ravi Khadiwala
7b331edcde
Separate username and signature truncation fields
2023-04-05 09:51:00 -05:00
Katherine Yen
e4da59c236
Generic credential auth endpoint for call links
2023-04-04 10:28:35 -07: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
Erik Osheim
f5726f63bd
Update to the latest version of the spam filter
2023-04-03 14:34:13 -04:00
Jonathan Klabunde Tomer
391b070cff
KeysController: return correct number of unsigned prekeys
...
When GET /v2/keys was orignally added in b263f47 , prekeys were stored in
Postgres, with a user's unsigned and signed keys together in the same table.
Therefore GET /v2/keys subtracted one from the count returned by storage.
In d4d9403 , we changed to a different storage schema, with unsigned prekeys in
one DynamoDB table and unsigned prekeys in the accounts Dynamo table.
Unfortunately, GET /v2/keys was not changed to stop subtracting one from the
count of prekeys in the keys table at the same time. This commit fixes that.
2023-04-03 14:32:45 -04:00
gram-signal
781cd0ca3f
Truncate SVR2 IDs to 16 bytes rather than 10.
2023-03-30 17:19:18 -06:00
Erik Osheim
84355963f9
Update to the latest version of the spam filter
2023-03-29 16:51:48 -04: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
0cc84131de
Add enabled to SVR2 configuration
2023-03-29 11:40:21 -05:00
Chris Eager
4fa08fb189
Add secure value recovery 2 to AccountsManager#delete()
2023-03-29 11:40:21 -05:00
Chris Eager
2a551d1d41
Add SecureValueRecovery2Client
2023-03-29 11:40:21 -05:00
Chris Eager
391aa9c518
Wrap runtime exceptions during WebSocket auth into AuthenticationException
2023-03-29 10:08:55 -05:00
Erik Osheim
39d9fd0317
Update to the latest version of the spam filter
2023-03-28 11:20:18 -04:00
Chris Eager
18b1fcd724
Update to the latest version of the spam filter
2023-03-22 13:08:58 -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
6075d5137b
Add /v2/accounts/data_report
2023-03-22 12:57:21 -05:00
ravi-signal
890293e429
change v1/challenge response for invalid captcha
2023-03-21 17:38:30 -05:00
Ravi Khadiwala
05b43a878b
Register unlink device command
2023-03-21 17:35:57 -05:00
Chris Eager
fe9c3982a1
Remove prepended username from /v2/backup/auth response
2023-03-21 17:35:42 -05:00
Ravi Khadiwala
82baa892f7
Update to the latest version of spam filter
2023-03-21 17:34:58 -05:00
Ravi Khadiwala
ee53260d72
Add filter-provided captcha score thresholds
2023-03-21 17:34:58 -05:00
Ravi Khadiwala
a8eb27940d
Add per-action captcha site-key configuration
...
- reject captcha requests without valid actions
- require specific site keys for each action
2023-03-21 17:34:58 -05:00
Erik Osheim
fd8918eaff
Update to the latest version of the spam filter
2023-03-21 15:47:55 -04:00
Katherine Yen
a3a7d7108b
Change reglock expiration check to be > 0 instead of >= 0
2023-03-21 12:46:35 -07:00
Jon Chambers
cd27fe0409
Update to the latest version of the spam filter
2023-03-20 15:28:01 -04:00
Jon Chambers
35606a9afd
Send "account already exists" flag when creating registration sessions
2023-03-20 15:18:55 -04:00
Jon Chambers
2052e62c01
Use a purpose-specific method when checking verification codes via the legacy registration API
2023-03-20 15:18:38 -04:00
Erik Osheim
8ccab5c1e0
Update to the latest version of the spam filter
2023-03-17 16:41:48 -04:00
Chris Eager
292f69256e
Refactor WebSocket message sending error and completion to subscriber from “doOn…”
2023-03-17 12:42:57 -05:00
ravi-signal
fbdcb942e8
Add unlink user command
2023-03-16 11:17:36 -05:00
Sergey Skrobotov
c14ef7e6cf
migrate token bucket redis record format from json to hash: phase 2
2023-03-16 09:15:22 -07:00
Jon Chambers
a04fe133b6
Fix a typo in a method name
2023-03-15 16:01:14 -07:00
Sergey Skrobotov
483e444174
migrate token bucket redis record format from json to hash: phase 1
2023-03-15 16:01:06 -07:00
Sergey Skrobotov
ebf8aa7b15
fixing embedded redis based tests
2023-03-15 13:56:40 -07:00
Katherine Yen
7c52be2ac1
Bump old registration default ratelimiter to match Bravo
2023-03-15 09:44:02 -07:00
Sergey Skrobotov
203a49975c
artifact is now available in maven central
2023-03-14 12:02:16 -07:00
Sergey Skrobotov
7d45838a1e
reordering maven repositories
2023-03-13 22:22:25 -07:00
Katherine Yen
2683f1c6e7
Encode username hash to base64 string without padding
2023-03-13 15:35:27 -07:00
Sergey Skrobotov
d13413aff2
Update to the latest version of the spam filter
2023-03-13 15:04:51 -07:00
Sergey Skrobotov
4c85e7ba66
Moving RateLimiter logic to Redis Lua and adding async API
2023-03-13 14:50:26 -07:00
Katherine Yen
46fef4082c
Add metrics for registration lock flow
2023-03-09 09:07:21 -08:00
Ravi Khadiwala
c06313dd2e
Drop tagging for legacy user agents
2023-03-09 10:43:45 -06:00
Ravi Khadiwala
59bc2c5535
Add by-action captcha score config
...
Enable setting different captcha score thresholds for different captcha
actions via configuration
2023-03-09 10:43:16 -06:00
Chris Eager
437bc1358b
Use server timestamp for queue score
2023-03-06 11:31:11 -06:00
Katherine Yen
99e651e902
Update to the latest version of the spam filter
2023-03-03 14:10:56 -08:00
Chris Eager
757ce42a35
Update s3-upload-maven-plugin to 2.0.1
2023-03-03 13:17:28 -06:00
Chris Eager
179f3df847
Allow DisabledPermittedAuthenticatedAccount at /v1/accounts/me
2023-03-03 13:17:17 -06:00
Chris Eager
8a889516b0
Improve LoggingUnhandledExceptionMapper combination with CompletionExceptionMapper
2023-03-03 13:17:07 -06:00
Jon Chambers
7de5c0a27d
Keep counts of open websockets by client platform
2023-03-03 13:16:24 -06:00
Chris Eager
71d234e1e4
Update default rate limiter config
2023-03-02 10:27:07 -06:00
Chris Eager
b5fb33e21e
Remove unused metrics
2023-03-02 10:14:58 -06:00
Sergey Skrobotov
2be22c2a8e
Updating documentation github action to handle no changes case
2023-02-28 14:48:09 -08:00
Chris Eager
db198237f3
Expand try-finally scope of deleted accounts reconciliation lock
2023-02-28 12:42:18 -06:00
Chris Eager
d0ccae129a
Remove obsolete metric
2023-02-27 16:33:34 -06:00
Chris Eager
ecbef9c6ee
Add micrometer metrics to RateLimiter
2023-02-27 16:33:27 -06:00
Chris Eager
ef2cc6620e
Add @Produces annotation for validation error response
2023-02-27 16:33:18 -06:00
ravi-signal
b8f363b187
Add documentation to challenge controller
2023-02-24 17:41:15 -06:00
Sergey Skrobotov
c3f4956ead
OpenAPI support
2023-02-24 13:03:30 -08:00
Chris Eager
047f4a1c00
Update metric name
2023-02-24 13:07:07 -06:00
Sergey Skrobotov
41c0fe9ffa
Adding a uniform configuration for all json/yaml mapper use cases: part 2
Service CI / build (push) Has been cancelled
2023-02-24 09:28:55 -08:00
Sergey Skrobotov
6edb0d49e9
Adding a uniform configuration for all json/yaml mapper use cases: bugfix
Service CI / build (push) Has been cancelled
2023-02-23 20:01:32 -08:00
Sergey Skrobotov
a5e3b81a50
Update to the latest version of the spam filter
Service CI / build (push) Has been cancelled
2023-02-23 17:12:12 -08:00
Sergey Skrobotov
b9b4e3fdd8
Adding a uniform configuration for all json/yaml mapper use cases: part 1
2023-02-23 16:38:48 -08:00
Jon Chambers
6ee9c6ad46
Remove deprecated registration service response fields
Service CI / build (push) Has been cancelled
2023-02-23 12:41:56 -08:00
Sergey Skrobotov
6d6556eee5
Update to the latest version of the spam filter
Service CI / build (push) Has been cancelled
2023-02-23 11:04:14 -08:00
Sergey Skrobotov
7529c35013
Rate limiters code refactored
2023-02-23 10:49:06 -08:00
erik-signal
378b32d44d
Add missing token field to OutgoingMessageEntity
Service CI / build (push) Has been cancelled
2023-02-23 11:18:07 -05:00
Chris Eager
e1fcd3e3f6
Remove Lettuce command latency recorder
2023-02-23 10:17:31 -06:00
Chris Eager
d7ad8dd448
Add micrometer timer to FaultTolerantPubSubConnection
2023-02-23 10:17:24 -06:00
Chris Eager
859f2302a9
Remove unused metrics
2023-02-23 10:17:24 -06:00
Chris Eager
a6d11789e9
Add ClosedChannelException to expected errors
2023-02-23 10:17:16 -06:00
Chris Eager
43f83076fa
Update to reactor 3.5.3
2023-02-23 10:16:57 -06:00
erik-signal
71c0fc8d4a
Improve metrics around spam report tokens.
Service CI / build (push) Has been cancelled
2023-02-22 15:43:44 -05:00
Chris Eager
d2f723de12
Update to the latest version of the spam filter
2023-02-22 14:33:29 -06:00
Chris Eager
1f4f926ce6
Add platform tag to subscription receipt metrics
2023-02-22 14:31:30 -06:00
Chris Eager
35286f838e
Add /v1/verification
2023-02-22 14:27:05 -06:00