Chris Eager
49489a6021
Re-check mismatched accounts after a delay, to avoid false positives from concurrent requests
2021-09-10 11:31:44 -07:00
Chris Eager
8cd93d68e4
Add MetricsUtil
2021-09-10 11:31:44 -07:00
Chris Eager
f3b9a8d97f
Add account to migration retry table on transient dynamo failure
2021-09-10 11:30:49 -07:00
Chris Eager
b91a69d8b3
Add asynchronous chunk pre-read to `AccountDatabaseCrawler`
2021-09-10 11:14:11 -07:00
Chris Eager
624e40e3b7
Add separate `AccountsDatabaseCrawler` for DynamoDB migration
2021-09-10 11:14:11 -07:00
Chris Eager
23a076a204
Update `Account#getNextDeviceId` to not reuse disable device’s IDs
2021-09-10 10:48:48 -07:00
Chris Eager
016141a05d
Add `DevicesHelper`
2021-09-10 10:48:48 -07:00
Graeme Connell
a064b25a14
Fix CDS writer to use AccountsManager.
2021-09-10 11:36:06 -06:00
Ehren Kret
bd40e32f3b
Send acceptable languages instead of request into the profile badge converter
2021-09-10 10:53:04 -05:00
Ehren Kret
81a21c0d5f
Use @NotNull since @NotEmpty doesn't support URL
2021-09-10 10:49:31 -05:00
Ehren Kret
6478210330
Update configuration for badges to use URL instead of String
2021-09-10 10:49:31 -05:00
Ehren Kret
aa1c37fe26
Create configuration for badges
2021-09-10 10:14:16 -05:00
Ehren Kret
6ee23b0186
Create resource bundle for badges
2021-09-10 10:11:56 -05:00
Jon Chambers
40eb445592
Add a command to set a user's discoverability in CDS
2021-09-10 10:34:20 -04:00
Jon Chambers
ce7d687205
Add a shutdown monitor that publishes shutdown state as a metric
2021-09-08 16:37:05 -04:00
Chris Eager
758900b7a8
Register AuthEnablementApplicationEventListener
2021-09-08 13:11:09 -07:00
Chris Eager
539b62a829
Add request event listener that handles device.isEnabled changes
2021-09-08 13:11:09 -07:00
Jon Chambers
2866f1b213
Include e164 in account creation (whoami) responses
2021-09-07 16:52:32 -04:00
Ehren Kret
fc1465c05d
Wire up stored account badges to the profile endpoints
2021-09-07 15:51:29 -05:00
Ehren Kret
bc887ec6fa
Add visibility flag to badge storage
2021-09-07 15:50:29 -05:00
Ehren Kret
84b3d324bb
Creates a storage object for badges
2021-09-07 15:49:41 -05:00
Ehren Kret
fc10108788
Make fields final in Badge entity
2021-09-07 15:39:48 -05:00
Ehren Kret
fbbc1bec58
Add badge entity to profile
2021-09-07 15:39:48 -05:00
Graeme Connell
2059bb5ef8
Update test to handle read-then-write in ContactDiscoveryWriter.
2021-09-07 13:41:47 -06:00
gram-signal
b080a5db4d
Get-and-set accounts, since other updates may have made them stale.
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2021-09-07 13:41:47 -06:00
Graeme Connell
b4aabd799b
Canonical discoverability writing.
2021-09-07 13:41:47 -06:00
Jon Chambers
92f035bc2a
Add a "change number" device/account capability
2021-09-07 15:07:30 -04:00
Chris Eager
18a6df34bd
Add timers to `processChunk` and `deleteRecentlyDeletedUuids`
2021-09-03 14:54:51 -07:00
Chris Eager
b1274125c9
Add start/chunk/sleep logging to crawler
2021-09-03 14:54:51 -07:00
Chris Eager
dceebc1c8d
Consistently use `whenCompleteAsync(…, migrationThreadPool)`
2021-09-03 14:02:51 -07:00
Chris Eager
6aadb4b458
Parameterize registration lock constructor when updating account attributes
2021-09-03 14:02:27 -07:00
Fedor Indutnyy
703405b874
Start WebSocket before registering its presence
2021-08-27 16:41:07 -04:00
Jon Chambers
d1735c7e57
Retire `AmbiguousIdentifier`
2021-08-27 13:40:46 -04:00
Jon Chambers
1f815b49dd
Measure APNs rejections by reason
2021-08-27 11:52:29 -04:00
Jon Chambers
a9339b7037
Update to Pushy 0.15.0
2021-08-27 11:52:29 -04:00
Jon Chambers
f2c6ca182d
Include the current server version in the tag list for Dropwizard metrics
2021-08-27 11:52:11 -04:00
Jon Chambers
b946c27a20
Remove a metric aggregator
2021-08-27 11:52:11 -04:00
Jon Chambers
8a8a848fac
Record error metrics from Twilio Verify
2021-08-26 12:22:17 -04:00
Chris Eager
aeb9f67266
Migrate MessageSenderTest to JUnit 5
2021-08-25 12:25:10 -05:00
Chris Eager
e08c5a412e
Insert ephemeral messages in the standard cache queue
2021-08-25 12:25:10 -05:00
Chris Eager
a7443a9ece
Don’t persist ephemeral messages; clear ephemeral field when sending to clients
2021-08-25 11:17:00 -05:00
Chris Eager
54fe3b9a43
Update TextSecure.proto
2021-08-25 11:17:00 -05:00
Ehren Kret
ba522b1691
Clean redis message cache structure
2021-08-24 10:30:52 -05:00
Jon Chambers
739c5bf22c
Add a counter to estimate announcement group adoption
2021-08-23 17:31:34 -04:00
Chris Eager
7cdadeb791
Register circuit breaker metrics for FaultTolerantPubSubConnection
2021-08-23 15:49:19 -05:00
Chris Eager
dadf43b93e
Consolidate directory reconciliation on v3 endpoints
2021-08-19 14:18:38 -05:00
Chris Eager
19f7b207b7
Extract configuration for WebSocket max message sizes
2021-08-19 14:09:57 -05:00
Chris Eager
a398e2269c
Update `AccountsManager` mismatch comparison
2021-08-19 14:08:48 -05:00
Chris Eager
2e28fb97a4
Delete DynamoDB accounts with invalid UUIDs in AccountsManager#create
2021-08-19 14:05:21 -05:00
Chris Eager
5c68d83a93
Add integration test for re-registration with and without Dynamo DB
2021-08-19 14:05:21 -05:00
Chris Eager
0b7c3ad745
.editorconfig formatting
2021-08-16 16:32:26 -05:00
Chris Eager
0cde06557d
Catch and log unexpected exceptions keyspace notification executor service
2021-08-16 16:32:26 -05:00
Chris Eager
27844fe692
Add JUnit 5 RedisClusterExtension
2021-08-13 12:07:04 -05:00
Ehren Kret
779051ef9f
Add minThreads(64) to multiRecipientMessageExecutor
2021-08-12 13:03:40 -05:00
Ehren Kret
d13741fbd5
Change from using parallel streams to using an ExecutorService
2021-08-12 12:05:01 -05:00
Ehren Kret
f7f870fe62
Execute send multi-recipient message loop in parallel
2021-08-12 12:05:01 -05:00
Chris Eager
de59aa099d
Add uncaught exception handler
2021-08-12 11:10:05 -05:00
Ehren Kret
57a478b898
Remove unused local variable
2021-08-12 10:26:23 -05:00
Ehren Kret
3e8d79e147
Remove unused lua script to delete by sender and timestamp
2021-08-11 17:38:55 -05:00
Ehren Kret
a46045d987
Remove unused methods that delete messages by sender and timestamp
2021-08-11 17:30:39 -05:00
Ehren Kret
662c905b80
Remove deprecated delete messages endpoint
...
DELETE /v1/messages/{source}/{timestamp} has been deprecated a long
time and has minimal usage each day at this point. Dropping support
for this endpoint to improve message cache storage flexibility.
2021-08-11 16:17:44 -05:00
Chris Eager
31022aeb79
Use refreshing `AuthenticatedAccount` for `@Auth`
2021-08-11 14:52:25 -05:00
Chris Eager
b3e6a50dee
Send 508 status code for legacy clients that produce rate limit challenges
2021-08-11 11:57:30 -05:00
Chris Eager
d29764d11f
Only process updates for enabled devices in PushFeedbackProcessor
2021-08-11 11:54:42 -05:00
Chris Eager
f8e4f6727a
Reorder crawler listeners so updates happen after read-only processing
2021-08-11 11:54:20 -05:00
Ehren Kret
63d05df8a3
Fix indentation
2021-08-10 10:02:04 -05:00
Ehren Kret
52d13d1d62
Remove unused lua script
2021-08-10 10:02:04 -05:00
Ehren Kret
f58a320223
Remove unused method from MessagesCache
2021-08-10 10:02:04 -05:00
Chris Eager
3e01bc1174
Add metric for content-length header distribution
2021-08-06 14:41:16 -05:00
Jon Chambers
d1ada7f998
Revert "Continue to verify rate limiters by e164 during UUID migration period"
...
This reverts commit ce5edbb7fc
.
2021-08-06 14:33:59 -05:00
Jon Chambers
73c368ea86
Use UUIDs instead of e164s to associate accounts with push notifications.
2021-08-04 14:38:28 -04:00
Jon Chambers
ce5edbb7fc
Continue to verify rate limiters by e164 during UUID migration period
2021-08-04 14:15:21 -04:00
Jon Chambers
a680639718
Use UUIDs as rate limiter keys.
2021-08-04 14:15:21 -04:00
Ehren Kret
becf6afbdd
Block until all UUID bytes are read or EOF
2021-08-03 17:59:48 -05:00
Ehren Kret
1dda015c6a
Update multi-recipient message sending to handle unrestricted destinations
2021-08-03 17:31:39 -05:00
Chris Eager
a0427ecf8c
Update s3-upload-maven-plugin to 1.6-SNAPSHOT
2021-08-03 11:04:29 -05:00
Chris Eager
cfd31e98ff
Move version comparison to after more meaningful checks
2021-08-03 11:03:41 -05:00
Jon Chambers
bcb89924b4
Simplify optimistic write logic
2021-08-03 11:54:26 -04:00
Ehren Kret
1f6318a919
Rename constant
2021-08-02 13:14:44 -05:00
Ehren Kret
b0667b258b
Implement EnterpriseRecaptchaClient
2021-08-02 13:14:44 -05:00
Ehren Kret
4c3a48f5be
Use more specific prefix for recaptcha transition
2021-08-02 13:14:44 -05:00
Ehren Kret
33fb7a72de
Use RecaptchaClient interface
2021-08-02 13:14:44 -05:00
Ehren Kret
2c808e369c
Create a transitional recaptcha client for upgrading
2021-08-02 13:14:44 -05:00
Ehren Kret
906d0be382
Setup recaptcha client interface
2021-08-02 13:14:44 -05:00
Ehren Kret
1c9a3c6105
Bringing in Google Cloud Recaptcha Enterprise libraries
2021-08-02 13:14:44 -05:00
Ehren Kret
2aaddd721f
Rename existing captcha client
2021-08-02 13:14:44 -05:00
Jon Chambers
4e2284b83f
Retire old GV2 adoption metrics.
2021-08-02 12:51:49 -05:00
Chris Eager
d5d9978e48
Use non-stale account in mutator when adding a new device
2021-08-02 11:38:03 -05:00
Chris Eager
d45659ac76
Reduce contention when updating `device.lastSeen`
2021-08-02 11:26:15 -05:00
Jon Chambers
13a07dc6cd
Drop the active user counter.
2021-07-29 15:40:27 -04:00
Chris Eager
51b7a8d868
Add excluded E164s configuration to pre-registration experiment
2021-07-29 14:16:40 -05:00
Chris Eager
df9c0051c9
Reconcile inactive and undiscoverable accounts when using v3 endpoints
2021-07-29 10:56:44 -05:00
Jon Chambers
331ff83cd5
Drop legacy PIN-based registration lock plumbing
2021-07-29 11:51:14 -04:00
Jon Chambers
44838d6238
Verify that nobody's addressing API calls by e164 any more.
2021-07-29 11:50:36 -04:00
Chris Eager
5400abb065
Better support unhandled exception logging on websocket requests
2021-07-28 14:06:09 -05:00
Jon Chambers
f47fefb73e
Lock accounts for the duration of deletion operations.
2021-07-27 13:12:39 -04:00
Jon Chambers
cdef745a7a
Drop a not-very-helpful metric (logging works better in this case).
2021-07-27 13:12:39 -04:00
Jon Chambers
1a1eab4ec0
Also clear profiles on re-registration.
2021-07-27 13:05:54 -04:00
Jon Chambers
3a966ef345
Reuse account UUIDs when registering an account with a recently-deleted e164.
2021-07-27 13:05:54 -04:00
Jon Chambers
be20c04cd8
Identify accounts for which to delete keys by UUID.
2021-07-27 13:05:54 -04:00