Jon Chambers
cbdec0cb22
Remove legacy push latency measurement pathways
2021-11-11 15:44:07 -05:00
Chris Eager
de6e9d31c9
Add dedicated crawler for directory reconciler
2021-11-11 13:38:13 -07:00
Jon Chambers
f0a6be32fc
Add a crawler to assign PNIs to existing accounts
2021-11-10 11:15:05 -05:00
Jon Chambers
aaa2a6eef1
Break down push latency metrics by VOIP/not-VOIP and optionally by client version
2021-11-10 10:35:41 -05:00
Jon Chambers
b1f56c3324
Resolve formatting complaints
2021-11-10 10:15:14 -05:00
Jon Chambers
da5c0ae4b6
Enable Payments Beta for more country codes
2021-11-10 10:15:14 -05:00
Jon Chambers
1e1394560d
Check length of cancellation reason list before getting reason codes
2021-11-09 11:42:44 -05:00
Jon Chambers
bae0196bcf
Tolerate null UUID attribute values
2021-11-09 11:00:27 -05:00
Jon Chambers
3398955c1a
Add basic support for phone number identifiers
2021-11-09 10:23:08 -05:00
Chris Eager
0a4392f700
Streamline `ExternalServiceCredentialsGenerator` construction
2021-11-08 14:30:52 -07:00
Chris Eager
eb86986cf4
Add /v2/directory/auth endpoint
2021-11-08 14:30:52 -07:00
Ehren Kret
99b1f48e0e
Copy badges from existing account on re-reg
2021-11-04 18:00:47 -05:00
Jon Chambers
c931103712
Remove unused utility classes
2021-11-01 10:51:47 -04:00
Ehren Kret
a52c91a665
Add names to subscription levels
2021-10-28 14:48:44 -07:00
Ehren Kret
94bf3a3902
Extract logic for created header controlled resource bundles
2021-10-28 14:26:53 -07:00
Ehren Kret
090d722b61
Add method to retrieve receipt credentials for a boost payment
2021-10-25 14:54:40 -07:00
Ehren Kret
72b52965b9
Expand definition of badge SVGs
2021-10-25 10:28:02 -07:00
Jon Chambers
ae7077c643
Refresh accounts from storage when checking for device state changes after requests
2021-10-22 14:02:28 -04:00
Jon Chambers
534c577f59
Enforce phone number normalization when creating accounts or changing numbers
2021-10-22 14:01:54 -04:00
Jon Chambers
7762afc497
Add a method for verifying that numbers are normalized in addition to being dialable
2021-10-22 14:01:54 -04:00
Jon Chambers
a3fe4b9980
Update/parameterize ValidNumberTest
2021-10-22 14:01:54 -04:00
Ehren Kret
07cd69ab34
Add endpoint for fetching boost amounts
2021-10-21 13:56:35 -05:00
Jon Chambers
3b764bed7a
Make `DynamicConfigurationManager` generic
2021-10-19 11:52:29 -04:00
Jon Chambers
c91d5c2fdb
Count reported messages per sender
2021-10-19 11:47:54 -04:00
Ehren Kret
c0837104cd
Bring badge configuration into levels information
2021-10-14 11:35:18 -05:00
Jon Chambers
fe21d014f7
Remove legacy rate-limiting tools
2021-10-14 11:43:18 -04:00
Jon Chambers
c379a3d297
Remove deprecated counters
2021-10-14 10:52:20 -04:00
Jon Chambers
eedeaaecee
Update rate-limiting for requests matching specific criteria
2021-10-14 10:42:16 -04:00
Ehren Kret
64eeb1e361
Move to using collections for sprites and svgs for badges
2021-10-13 23:25:39 -05:00
Ehren Kret
5f2656710c
Update badge configuration to new style
2021-10-13 22:58:57 -05:00
Ehren Kret
1af53f2612
Simplify getLevels API
2021-10-13 13:28:31 -05:00
Ehren Kret
bbde93a3c7
Enable unwrapping of CompletionStage
2021-10-13 11:46:20 -05:00
Ehren Kret
b01b76d78f
First pass at subscriptions API
...
This is an incomplete first pass at building the subscriptions API. More API endpoints are still to be added along with controller tests.
2021-10-12 21:23:20 -05:00
Jon Chambers
3c1705994d
Count accounts with non-normalized phone numbers
2021-10-11 10:13:08 -04:00
Chris Eager
d2bc3c7360
Add dynamic configuration to disable directory reconciler
2021-10-04 14:38:47 -07:00
Jon Chambers
9734433f00
Use the default `SecureRandom` algorithm for tests
2021-10-04 11:37:32 -04:00
Ehren Kret
5bd08800bb
Remove public modifier from test class
2021-10-01 14:27:07 -05:00
Ehren Kret
3032415141
Add receipt redemption API to chat server
2021-10-01 12:44:47 -05:00
Jon Chambers
ba58a95a0f
Add support for changing phone numbers
2021-10-01 10:15:33 -04:00
Jon Chambers
aa4bd92fee
Lazy-load scripts; fall back to `eval` if `evalsha` returns `NOSCRIPT`
2021-09-29 16:08:17 -04:00
Jon Chambers
2383aaaa3d
Update ClusterLuaScript formatting
2021-09-29 16:08:17 -04:00
Jon Chambers
8359ef73f4
Cycle all connected websockets on any device or account enabled state change
2021-09-29 14:18:35 -04:00
Jon Chambers
e333cbd94d
Close websockets on account deletion
2021-09-29 14:11:16 -04:00
Chris Eager
5189cbe5c7
apply editorconfig formatting
2021-09-29 10:31:39 -07:00
Chris Eager
3e5087e60b
Remove obsolete ephemeral queue handling
2021-09-29 10:31:39 -07:00
Ehren Kret
559026933d
Add low and high detail svgs to badges
2021-09-27 17:00:09 -05:00
Ehren Kret
7864405efd
Remove single URL in favor of density based sprite sheets
2021-09-27 16:50:18 -05:00
Ehren Kret
041aed2d72
Remove zkgroup enabled flag
...
The last remnants of a time before zkgroup have been swept away.
2021-09-23 09:24:06 -05:00
Jon Chambers
98e41f9a37
Improve Redis exception handling
2021-09-22 10:31:39 -04:00
Chris Eager
6a71d369e2
More Accounts cleanup
...
* Remove `AccountStore`
* Clean up `AccountsDynamoDb#delete`
* Rename `AccountsDynamoDb` → `Accounts`
* Remove unused configuration
* Move Accounts scan page size to static configuration
* Remove disabled tests and related methods
2021-09-21 15:25:16 -07:00
Ehren Kret
df5498e1c0
Add test for self badge fetching
2021-09-20 16:42:38 -05:00
Ehren Kret
44bc90e5ab
Return a badge with additional properties when fetching your own profile
2021-09-20 16:42:38 -05:00
Ehren Kret
17e8b77e88
Add unit test for setting badges
2021-09-20 16:41:09 -05:00
Ehren Kret
8011935a3b
Fix compilation issues created by constructor changes
2021-09-20 16:41:09 -05:00
Ehren Kret
537d61d5bd
Add badges to CreateProfileRequest
...
This will permit users to set the order and visibility of badges on
their profile.
2021-09-20 16:41:09 -05:00
Jon Chambers
09519ae942
Only retry websocket sending if the client is still connected
2021-09-20 14:24:07 -04:00
Chris Eager
2a67b2e610
Remove Accounts Postgres
2021-09-20 11:10:24 -07:00
Chris Eager
8161f55a82
Add dynamic configuration for setting Dynamo as primary
2021-09-17 13:28:45 -07:00
Chris Eager
ecee189ad8
Add `AccountDatabaseCrawler.dedicatedDynamoMigrationCrawler`
2021-09-17 11:27:20 -07:00
Jon Chambers
c2ba8ab562
Identify receipt destinations by UUID instead of e164
2021-09-16 10:47:03 -04:00
Chris Eager
83e0a19561
Migrate `MessagesDynamoDbRule` to `MessagesDynamoDbExtension`
2021-09-16 10:46:37 -04:00
Jon Chambers
6a5d475198
Add a "refresh websocket on number change" provider
2021-09-16 10:37:34 -04:00
Jon Chambers
49ccbba2e3
Generalize the "watch for websockets that need to be refreshed" listener
2021-09-16 10:37:34 -04:00
Ehren Kret
fb1f99da87
Add a method to enable a badge for all accounts
2021-09-16 09:28:21 -05:00
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
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
98a31d1474
Switch ProfileController to the actual badge converter
2021-09-16 09:28:21 -05: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
Graeme Connell
6304c84cdb
Add ContactDiscoveryWriterTest based on mock.
2021-09-13 15:20:21 -06: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
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
b91a69d8b3
Add asynchronous chunk pre-read to `AccountDatabaseCrawler`
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
Chris Eager
539b62a829
Add request event listener that handles device.isEnabled changes
2021-09-08 13:11:09 -07:00
Ehren Kret
fc1465c05d
Wire up stored account badges to the profile endpoints
2021-09-07 15:51:29 -05:00
Graeme Connell
2059bb5ef8
Update test to handle read-then-write in ContactDiscoveryWriter.
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
Jon Chambers
d1735c7e57
Retire `AmbiguousIdentifier`
2021-08-27 13:40:46 -04:00
Jon Chambers
a9339b7037
Update to Pushy 0.15.0
2021-08-27 11:52:29 -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
dadf43b93e
Consolidate directory reconciliation on v3 endpoints
2021-08-19 14:18:38 -05:00
Chris Eager
a398e2269c
Update `AccountsManager` mismatch comparison
2021-08-19 14:08:48 -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
27844fe692
Add JUnit 5 RedisClusterExtension
2021-08-13 12:07:04 -05:00
Ehren Kret
d13741fbd5
Change from using parallel streams to using an ExecutorService
2021-08-12 12:05:01 -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
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
73c368ea86
Use UUIDs instead of e164s to associate accounts with push notifications.
2021-08-04 14:38:28 -04:00
Jon Chambers
a680639718
Use UUIDs as rate limiter keys.
2021-08-04 14:15:21 -04:00
Jon Chambers
bcb89924b4
Simplify optimistic write logic
2021-08-03 11:54:26 -04:00
Ehren Kret
33fb7a72de
Use RecaptchaClient interface
2021-08-02 13:14:44 -05:00
Ehren Kret
2aaddd721f
Rename existing captcha client
2021-08-02 13:14:44 -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
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
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
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
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
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
Jon Chambers
12be7d49c2
Clear one-time pre-keys on re-registration.
2021-07-19 10:05:01 -04:00
Jon Chambers
14863b575e
Clear one-time pre-keys when a device is unlinked.
2021-07-19 10:05:01 -04:00
Jon Chambers
32a95f96ff
Add a pessimistic locking system for operations on recently-deleted account records
2021-07-16 16:52:58 -04:00
Chris Eager
01ef855157
Return a non-stale account from base authenticator when last seen is updated
2021-07-16 16:52:58 -04:00
Chris Eager
817866caf3
Use fresh accounts to update in PushFeedbackProcessor
2021-07-16 16:52:58 -04:00
Chris Eager
158d65c6a7
Add optimistic locking to account updates
2021-07-16 16:52:58 -04:00
realturner
62022c7de1
Migrate AppConfig to SDK v2 to detect and use web identify token
2021-07-16 16:48:33 -04:00
Chris Eager
a824b5575d
Add dynamic configuration for using DynamoDB in AccountsDatabaseCrawler
2021-07-06 13:01:24 -05:00
Jon Chambers
78819d5382
Remove expiration logic when checking token validity.
...
The data store will no longer return tokens that have expired, and we no longer need to check for expiration in application space.
2021-07-06 11:03:49 -04:00
Jon Chambers
d128bc782a
Retire Postgres-backed pending account/device tables.
2021-07-06 11:03:49 -04:00
Chris Eager
530b2a310f
Ensure active future is always completed
2021-07-02 15:05:11 -05:00
Chris Eager
43be72d076
Add test for ManagedPeriodicWork; fix shutdown not awaiting active execution
2021-07-02 15:05:11 -05:00
Chris Eager
c22ea78672
Add crawler to process migration retry accounts
2021-07-02 15:05:11 -05:00
Chris Eager
abaed821ec
Add additional case to unit test
2021-07-02 15:05:11 -05:00