Ehren Kret
08c6a8c2e5
Add category to badges
2021-09-16 09:28:21 -05:00
Ehren Kret
ce3835e176
Rename id to name in the configuration
2021-09-16 09:28:21 -05:00
Ehren Kret
39f6eadbb9
Add test for add and remove badges
2021-09-16 09:28:21 -05:00
Ehren Kret
16dba09b61
Handle merging badges when adding to account
2021-09-16 09:28:21 -05:00
Ehren Kret
d5ebf2f2ed
Rename name to id in Account#removeBadge
2021-09-16 09:28:21 -05:00
Ehren Kret
8a8e6e7b49
Rename name to id in the stored badge information and expose id in the profile endpoint
2021-09-16 09:28:21 -05:00
Ehren Kret
34e21b9f7b
Change name to id on AccountBadge
...
This makes it distinct from the localized name field on the Badge
entity that is returned.
2021-09-16 09:28:21 -05:00
Ehren Kret
98a31d1474
Switch ProfileController to the actual badge converter
2021-09-16 09:28:21 -05:00
Chris Eager
72a0c1be0f
Tune mismatch logging
2021-09-15 16:46:10 -07:00
Ehren Kret
5b25e38e41
Ensure badges are in ordered collections
2021-09-15 16:20:15 -05:00
Chris Eager
2fb400280b
Remove unused parameter from `deleteMessageByDestinationAndGuid`
2021-09-15 10:14:08 -07:00
Ehren Kret
79ad09524e
Implement the ProfileBadgeConverter interface
2021-09-15 10:32:20 -05:00
Chris Eager
5f8accb492
Add acceptable languages from request to variable
2021-09-14 17:43:39 -07:00
Chris Eager
6fcadc2297
Handle exception reading `Accept-Language` header
2021-09-13 18:07:16 -07:00
Chris Eager
3f4e1522eb
Only put accounts that exhaust optimistic lock retries in migration retry table
2021-09-13 15:00:01 -07:00
Graeme Connell
6304c84cdb
Add ContactDiscoveryWriterTest based on mock.
2021-09-13 15:20:21 -06:00
Chris Eager
894297efa9
Add dynamic configuration for doing a mismatch post-check
2021-09-13 13:54:19 -07:00
Chris Eager
a51a7a0901
Add `MigrationMismatchedAccounts` to `AccountsManager`
2021-09-13 13:54:19 -07:00
Chris Eager
372e131e25
Update `PaymentsControllerTest`
2021-09-13 09:58:42 -07:00
Sophiah Ho
cd66a1ceb7
fix merge issue after 2021 Aug 15 commit d1735c7e57
( #137 )
2021-09-13 09:39:11 -07:00
Sophiah Ho
feb59deb28
Use BigDecimal instead of Double for currency rate calculations ( #134 )
...
use BigDecimal instead of double for accuracy
2021-09-10 16:15:57 -05:00
Nicolas Remond
489519a982
Use Map.of() for statically defined map
2021-09-10 14:27:18 -05:00
F2theK
5b404095b0
Added missing config entries
...
Starting server with sample.yml throws errors because of missing elements in config - not just empty ones
2021-09-10 14:19:10 -05:00
Chris Eager
6a6555e2d5
Add metrics for AuthEnablementRequestEventListener displacements
2021-09-10 12:01:05 -07:00
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
Jon Chambers
d09dcc90fe
Add methods for getting, clearing, locking recently-deleted account records.
2021-07-27 13:05:54 -04:00
Jon Chambers
0117fc12c7
Actually increment the moved "new user" counter.
2021-07-27 12:09:51 -04:00
Jon Chambers
ef9a7fda9a
Publish outstanding SQS operation count as a gauge.
2021-07-27 11:15:41 -04:00
Chris Eager
13447df1e0
Update validation for NotNull items in IncomingMessagesList
2021-07-27 10:39:30 -04:00
Jon Chambers
3608c5bfb0
Wait for outstanding requests to be resolved before shutting down the directory queue.
2021-07-27 10:36:53 -04:00
Jon Chambers
34dbff6786
Switch to an async SQS client.
2021-07-27 10:36:53 -04:00
Jon Chambers
a6066bfc2f
Migrate DirectoryQueueTest to JUnit 5.
2021-07-27 10:36:53 -04:00
Jon Chambers
8579190cdf
Consolidate account creation/directory updates into `AccountsManager`
2021-07-27 10:27:47 -04:00
Chris Eager
917f667229
Remove AccountController and KeysController from websocket
2021-07-26 14:27:43 -05:00
Chris Eager
317a551bdb
Migrate MetricsRequestEventListenerTest to JUnit 5
2021-07-26 12:06:29 -05:00
Chris Eager
27e9271473
Add request path and user agent to unhandled exception logging
2021-07-26 12:06:29 -05:00
Fedor Indutny
11dff6c546
more controllers
2021-07-26 12:06:17 -05:00
Fedor Indutny
e6712937ca
fix indent
2021-07-26 12:06:17 -05:00
Fedor Indutny
cf8887bb5a
Provide more WebSocket endpoints
2021-07-26 12:06:17 -05:00
Chris Eager
696340f780
Migrate DeviceControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
86ddcbaa08
Migrate CertificateControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
2144d2a8d8
Migrate AttachmentControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
f7af861b31
Migrate SecureStorageControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
208a09b3ae
Migrate RemoteConfigControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
831023e41d
Migrate PaymentsControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
ff627793d6
Migrate DirectoryControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
f971c76a99
Migrate StickerControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
8f41176c76
Enable "sms" transport for +98
2021-07-26 10:40:05 -05:00
Ehren Kret
31bbbbb5e0
Raise default message TTL to 14 days
2021-07-20 14:08:08 -05:00
Jon Chambers
effcd6038d
Also record dimensional metrics for circuit breakers and retries.
2021-07-19 16:56:16 -04:00
Jon Chambers
12be7d49c2
Clear one-time pre-keys on re-registration.
2021-07-19 10:05:01 -04:00