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
|
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
|
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
|
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
|
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 |
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 |
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 |
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 |
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 |
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
|
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
|
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
|
ec009a2bba
|
Pass AccountAndAuthenticatedDeviceHolder to spam filter
|
2024-06-26 11:32:49 -07: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
|
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
|
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 |