Commit Graph

2427 Commits

Author SHA1 Message Date
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
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 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 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
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
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-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 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
Chris Eager cf307db31d Update JsonMappingExceptionMapper “Early EOF” logic 2024-05-01 10:31:11 -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
Ravi Khadiwala 37aa3b8e49 Default to 0 `usedBytes` in `GET /v1/archives` 2024-05-01 10:10:46 -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 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
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 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
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 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
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
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 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 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
Katherine d002e5dda8
Hardcode `paymentActivation` flag to `true` 2024-04-01 15:07:11 -07:00
Chris Eager 89cb821c97 Remove vavr dependency 2024-04-01 17:06:55 -05:00