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
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
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
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
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
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
Jon Chambers
315fc00eac
Lazily evaluate jobs to give max concurrency meaningful "teeth"
2024-09-23 08:43:44 -05: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
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
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
46e0f5da74
Fix swapped placeholders in a log message
2024-08-30 17:01:11 -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
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