Commit Graph

2523 Commits

Author SHA1 Message Date
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 d306cafbcc
Allow, but do not require, message delivery to devices without active delivery channels 2024-06-25 09:53:31 -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
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
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 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