Jon Chambers
f4f93bb24d
Update to the latest version of the spam filter
2023-02-14 12:36:34 -05:00
Jon Chambers
7561622bc8
Log cases where we fall back to a no-op spam-reporting token provider
2023-02-14 12:35:56 -05:00
Jon Chambers
b041566aba
Simplify construction of spam reporting token providers
2023-02-14 12:35:56 -05:00
Jon Chambers
cb72158abc
Add the presence of spam reporting tokens as a dimension
2023-02-14 12:35:21 -05:00
Jon Chambers
5c432d094f
Fix a typo in a metric name
2023-02-14 12:34:48 -05:00
Chris Eager
24ac48b3b1
Update counter name
2023-02-10 14:54:02 -06:00
Katherine Yen
c03060fe3c
Phone number discoverability update endpoint
2023-02-10 11:52:51 -08:00
Chris Eager
3ebd5141ae
Update to the latest version of the spam filter
2023-02-10 12:15:10 -06:00
Chris Eager
c16006dc4b
Add PUT /v2/account/number
2023-02-10 12:09:03 -06:00
Sergey Skrobotov
8fc465b3e8
removing redundant logic in new registration flow
2023-02-09 09:06:48 -08:00
Chris Eager
ce689bdff3
Use DisabledPermittedAuthenticatedAccount at DELETE /v1/accounts/me
2023-02-09 09:05:29 -08:00
Chris Eager
e23386ddc7
Remove unused JUnit extension from test
2023-02-09 09:05:11 -08:00
Jon Chambers
0f17d63774
Add tests for ProvisioningController
2023-02-09 09:04:52 -08:00
Katherine Yen
4fc3949367
Add zkproof validation in username flow
2023-02-09 09:02:53 -08:00
Katherine Yen
e19c04377b
Update to the latest version of the spam filter
2023-02-09 09:00:38 -08:00
Sergey Skrobotov
7c3f429c56
Update E164 constraint message
2023-02-08 13:22:00 -08:00
Sergey Skrobotov
7558489ad0
Registration Recovery Password support in /v1/registration
2023-02-08 13:20:23 -08:00
Katherine Yen
4a3880b5ae
usernameHashes on reserve request can't be null
2023-02-07 08:44:04 -08:00
Chris Eager
ca7a4abd30
Update to the latest version of the spam filter
2023-02-06 16:40:09 -06:00
Chris Eager
a4a45de161
Add /v1/registration
2023-02-06 16:11:59 -06:00
Chris Eager
358a286523
Use java.util Hex and Base64 codecs
2023-02-06 12:16:59 -06:00
Sergey Skrobotov
3bbab0027b
Update to the latest version of the spam filter
2023-02-03 16:39:34 -08:00
Sergey Skrobotov
8afe917a6c
Registration recovery passwords store and manager
2023-02-03 16:33:03 -08:00
Erik Osheim
f5fec5e6bb
Update to the latest version of the spam filter
2023-02-03 16:24:35 -05:00
Erik Osheim
0b81743683
Update to the latest version of the spam filter
2023-02-02 18:06:43 -05:00
Erik Osheim
9f715c3224
Update to the latest version of the spam filter
2023-02-02 18:05:02 -05:00
Katherine Yen
24f515ccb4
Revert "Revert "Stored hashed username""
2023-02-02 11:20:44 -08:00
Erik Osheim
fd531242c9
Update to the latest version of the spam filter
2023-02-02 12:20:45 -05:00
Erik Osheim
3855bd257d
Update to the latest version of the spam filter
2023-02-01 17:41:58 -05:00
Katherine Yen
c98b54ff15
Revert "Stored hashed username"
2023-02-01 14:31:44 -08:00
Katherine Yen
d93d50d038
Stored hashed username
2023-02-01 12:08:25 -08:00
Jon Chambers
448365c7a0
Preserve legacy registration API error handling
2023-01-31 15:45:23 -05:00
Sergey Skrobotov
515a863195
Update .gitmodules
2023-01-30 15:45:41 -08:00
Sergey Skrobotov
8d0e23bde1
AuthenticationCredentials name changed to SaltedTokenHash
2023-01-30 15:45:24 -08:00
Sergey Skrobotov
dc8f62a4ad
/v1/backup/auth/check endpoint added
2023-01-30 15:39:42 -08:00
Jon Chambers
896e65545e
Update to the latest version of the spam filter
2023-01-30 16:30:14 -05:00
Jon Chambers
cd4a4b1dcf
Retire VoiceVerificationController
2023-01-30 16:28:14 -05:00
Jon Chambers
38a0737afb
Retire ReportSpamTokenHandler interface in favor of ReportedMessageListener
2023-01-30 16:27:54 -05:00
Jon Chambers
4a2768b81d
Add spam report token support to ReportedMessageListener
2023-01-30 16:27:54 -05:00
Jon Chambers
00e08b8402
Simplify parsing/validation of spam report tokens
2023-01-30 16:27:54 -05:00
Erik Osheim
48e8584e13
Update to current version of the spam-filter.
2023-01-27 11:41:27 -05:00
erik-signal
a89e30fe75
Clarify naming around spam filtering.
2023-01-27 11:40:33 -05:00
gram-signal
a01fcdad28
Add in controller for SVR2 auth.
2023-01-27 09:15:52 -07:00
Chris Eager
2a99529921
Remove old badge strings
2023-01-26 09:23:11 -06:00
Sergey Skrobotov
c934405a3e
fixing config field names
2023-01-25 17:28:03 -08:00
Sergey Skrobotov
b8d922fcb7
Update to latest version of the spam module
2023-01-25 15:41:54 -08:00
Sergey Skrobotov
eb499833c6
refactoring of ExternalServiceCredentialGenerator
2023-01-25 15:20:28 -08:00
Chris Eager
dd98f7f043
Support changing just the currency of an existing subscription
2023-01-25 15:14:17 -06:00
Chris Eager
e8978ef91c
Add tests for SubscriptionController#setSubscriptionLevel
2023-01-25 15:14:17 -06:00
Chris Eager
669ff1cadf
DynamoDB Local Release Repository: snapshots.enabled = false
2023-01-25 15:12:02 -06:00
Jon Chambers
4ce85fdb19
Treat "check code" exceptions as false for legacy API compatibility
2023-01-25 14:39:29 -05:00
Jon Chambers
035ddc4834
Fix a mistake where we're looking for verification codes in place that hasn't been deployed yet (but will be soon!)
2023-01-25 11:43:06 -05:00
Chris Eager
c2f40b8503
Remove duplicate code
2023-01-25 11:09:23 -05:00
Jon Chambers
cf738a1c14
Look for registration service errors in response bodies in addition to status responses
2023-01-25 10:49:36 -05:00
erik-signal
52d40c2321
Add metrics for spam report tokens received.
2023-01-24 10:25:40 -05:00
Erik Osheim
cbf12d6b46
Update to latest version of the spam module
2023-01-19 11:20:08 -05:00
erik-signal
ab26a65b6a
Introduce spam report tokens
2023-01-19 11:13:43 -05:00
erik-signal
ee5aaf5383
Ignore files created by emacs / lsp.
2023-01-18 15:44:29 -05:00
Jon Chambers
1c1714b2c2
Clarify a counter name
2023-01-17 17:13:06 -05:00
Jon Chambers
accb017ec5
Use a longer expiration window for quantile calculation
2023-01-17 17:13:06 -05:00
Chris Eager
304782d583
Use processor from SubscriptionProcessorManager for issued receipts
2023-01-17 16:12:03 -06:00
Chris Eager
f361f436d8
Support PayPal for recurring donations
2023-01-17 12:20:17 -06:00
Chris Eager
a34b5a6122
grpc, guava: use version from google cloud libraries-bom
2023-01-17 11:20:46 -06:00
Chris Eager
f75ea18ccb
Add test for GoogleCloudAdminEventLogger
2023-01-17 11:20:46 -06:00
Dimitris Apostolou
9a06c40a28
Fix typos
2023-01-13 16:05:06 -06:00
Chris Eager
e6ab97dc5a
Update enabled-required authenticator metrics
2023-01-13 14:05:56 -06:00
Chris Eager
ba73f757e2
Update google libraries-bom to 26.1.3, firebase-admin to 9.1.1
2023-01-13 12:22:55 -06:00
Chris Eager
30f131096d
Update AWS SDK v1 to 1.12.376
2023-01-13 12:17:39 -06:00
Chris Eager
b8ce922f92
Update logstash-logback-encoder to 7.2
2023-01-13 12:17:39 -06:00
Chris Eager
11b62345e1
Update mockito to 4.11.0
2023-01-13 12:17:39 -06:00
Chris Eager
77289ecb51
Update micrometer to 1.10.3
2023-01-13 12:17:39 -06:00
Chris Eager
dfb0b68997
Update DynamoDBLocal to 1.20.0
2023-01-13 12:17:39 -06:00
Chris Eager
d545f60fc4
Update wiremock to 2.35.0
2023-01-13 12:17:39 -06:00
Chris Eager
5cda6e9d84
Update pushy to 0.15.2
2023-01-13 12:17:39 -06:00
Chris Eager
7caba89210
Update AWS SDK v2 to 2.19.8
2023-01-13 12:17:39 -06:00
Chris Eager
b8967b75c6
Update dropwizard to 2.0.34
2023-01-13 12:17:39 -06:00
Chris Eager
74d9849472
Update badge strings
2023-01-13 12:08:05 -06:00
Fedor Indutny
96b753cfd0
Add an extra kb to max sticker size
2023-01-13 12:07:45 -06:00
Jon Chambers
5a89e66fc0
Convert AccountIdentityResponse to a record
2023-01-13 12:36:17 -05:00
Jon Chambers
b4a143b9de
Convert RegistrationLockFailure to a record
2023-01-13 12:36:02 -05:00
Jon Chambers
050035dd52
Convert ExternalServiceCredentials to a record
2023-01-13 12:36:02 -05:00
Jon Chambers
7018062606
Explicitly create registration sessions
2023-01-09 15:27:07 -05:00
Jon Chambers
9e1485de0a
Assume stored verification codes will always have a session ID instead of a verification code
2023-01-09 15:27:07 -05:00
Jon Chambers
4e358b891f
Retire StoredVerificationCode#twilioVerificationSid
2023-01-09 15:27:07 -05:00
Ehren Kret
4044a9df30
stop warning about lack of syntax specification during proto generation
2023-01-09 12:20:07 -06:00
Ehren Kret
5a7b675001
import cleanup on controllers package
2023-01-09 12:20:07 -06:00
Ehren Kret
3be4e4bc57
remove unused exception type
2023-01-09 12:20:07 -06:00
Chris Eager
5de51919bb
Remove Subscriptions.PCI
2023-01-05 12:02:34 -06:00
Chris Eager
b02b00818b
Remove Subscriptions.PCI attribute
2023-01-04 11:31:46 -06:00
Chris Eager
010f88a2ad
Remove Subscriptions.C attribute
2023-01-04 11:31:46 -06:00
Jon Chambers
60edf4835f
Add a pni capability to UserCapabilities
2022-12-21 16:26:07 -05:00
Jon Chambers
a60450d931
Convert UserCapabilities to a record
2022-12-21 16:26:07 -05:00
erik-signal
d138fa45df
Handle edge cases of Math.abs on integers.
2022-12-20 12:25:04 -05:00
Katherine Yen
2c2c497c12
Define reregistrationIdleDays DistributionSummary with custom expiry
2022-12-20 09:21:24 -08:00
Katherine Yen
cb5d3840d9
Add paymentActivation capability
2022-12-20 09:20:42 -08:00
Fedor Indutny
9aceaa7a4d
Introduce ArtController
2022-12-19 11:58:16 -08:00
Katherine Yen
636c8ba384
Add metric for distribution of account idle time at reregistration
2022-12-16 13:50:29 -08:00
Ravi Khadiwala
ac78eb1425
Update to the latest version of the abusive message filter
2022-12-16 11:28:30 -06:00
Ravi Khadiwala
65ad3fe623
Add hCaptcha support
2022-12-16 11:28:30 -06:00
Sergey Skrobotov
dcec90fc52
Update to the latest version of the abusive message filter
2022-12-13 13:30:47 -08:00
Chris Eager
24ac32e6e6
Add PayPalExperienceProfileInput.userAction
2022-12-13 10:03:58 -06:00
Katherine Yen
26f5ffdde3
Enable case-sensitive usernames
2022-12-13 07:59:37 -08:00
Jon Chambers
a883426402
Simplify account cleaner
2022-12-06 16:21:25 -06:00
Chris Eager
2f21e930e2
Add minimum one-time donation amont to validation error map
2022-12-06 16:21:15 -06:00
Chris Eager
5fb158635c
Use existing WebApplicationException entity, if available
2022-12-06 16:21:15 -06:00
Chris Eager
6f844f9ebb
Update to the latest version of the abusive message filter
2022-12-06 16:20:17 -06:00
Sergey Skrobotov
d88e358016
Update to the latest version of the abusive message filter
2022-12-05 10:07:40 -08:00
Sergey Skrobotov
9cf2635528
some accounts classes refactorings
2022-12-05 09:30:40 -08:00
Chris Eager
d0e7579f13
Revert transaction descriptor
2022-12-01 18:52:45 -06:00
Chris Eager
cda82b0ea0
Update kotlin + Apollo
2022-12-01 18:11:35 -06:00
Chris Eager
2ecbb18fe5
Add support for one-time PayPal donations
2022-12-01 18:11:35 -06:00
Chris Eager
d40d2389a9
Update to Maven 3.8.6
2022-12-01 18:09:38 -06:00
Chris Eager
df8fb5cab7
Move messages cache stale discard to a separate scheduler
2022-12-01 18:09:28 -06:00
katherine-signal
99ad211c01
Enforce minimum amount by currency for one time donations
2022-11-28 11:44:59 -08:00
katherine-signal
fb4ed20ff5
Remove groups v2 capability
...
* wip removing groups v2 capabilities
* comments
* finish removing groups v2 references
* hardcode gv1migration flag on user capability, remove other references
2022-11-21 09:31:47 -08:00
Jon Chambers
cb50b44d8f
Allow the account cleaner to operate on multiple accounts in parallel
2022-11-18 11:15:00 -05:00
Jon Chambers
ae57853ec4
Simplify deletion reason reporting
2022-11-18 11:15:00 -05:00
Jon Chambers
2881c0fd7e
Allow the account cleaner to act on all accounts in a crawled chunk
2022-11-18 11:15:00 -05:00
Chris Eager
483fb0968b
Use badge name in level configuration for one-time donations
2022-11-18 11:05:23 -05:00
Jon Chambers
4d37418c15
Update to the latest version of the abusive message filter
2022-11-18 10:55:15 -05:00
Jon Chambers
e8ee4b50ff
Retire the legacy "abusive hosts" system in favor of newer tools
2022-11-18 10:54:25 -05:00
Chris Eager
4f8aa2eee2
Mark flaky test @Disabled
2022-11-17 13:23:42 -06:00
Chris Eager
397d3cb45a
Add consolidated subscription configuration API
2022-11-16 12:27:00 -06:00
Chris Eager
e883d727fb
Note deprecation of localized string
2022-11-16 12:09:00 -06:00
Chris Eager
986545a140
Set error_if_incomplete for subscription payment behavior
2022-11-16 12:08:21 -06:00
Sergey Skrobotov
836307b0c7
adding a metric for ipv4/ipv6 requests count
2022-11-15 11:17:01 -08:00
Sergey Skrobotov
b5a75d3079
Update to the latest version of the abusive message filter
2022-11-15 11:16:55 -08:00
Sergey Skrobotov
c32067759c
refactoring: use constants for header names
2022-11-15 11:16:49 -08:00
Chris Eager
7fb7abb593
Update to micrometer 1.10.0
2022-11-15 11:16:41 -08:00
Erik Osheim
0d50b58c60
Update to the latest version of the abusive message filter
2022-11-11 17:09:24 -05:00
Chris Eager
bdf4e24266
Update to the latest version of the abusive message filter
2022-11-11 13:54:19 -06:00
Chris Eager
f41bdf1acb
Make MessagesController#getPendingMessages fully async
2022-11-11 13:19:57 -06:00
Chris Eager
77d691df59
Always use reactived message processing in WebSocketConnection
2022-11-11 13:14:39 -06:00
Chris Eager
12300761ab
Update reactor-bom to 2020.0.24
2022-11-11 13:14:26 -06:00
Chris Eager
25efcbda81
Update lettuce to 6.2.1.RELEASE
2022-11-11 13:14:26 -06:00
Jon Chambers
a01f96e0e4
Temporarily disable account freezing on contention
2022-11-10 18:53:58 -05:00
erik-signal
1d1e3ba79d
Add metric to track newly-locked accounts.
2022-11-10 12:55:08 -05:00
Jon Chambers
2c9c50711f
Avoid reading from a stale Account after a contested reglock event
2022-11-10 12:41:50 -05:00
Jon Chambers
d3f0ab8c6d
Introduce an alternative exchange rate data provider
2022-11-10 10:25:06 -05:00
erik-signal
80a3a8a43c
Lock account when number owner lacks registration lock.
2022-11-09 14:03:09 -05:00
Chris Eager
e6e6eb323d
Update metric name
2022-11-08 11:15:42 -06:00
Chris Eager
681a5bafb4
Update MessagesManager#getMessagesForDevice
...
- add `subscribeOn()`
- use `CompletableFuture` for consistency
2022-11-08 09:38:52 -06:00
Chris Eager
5bec89ecc8
Measure individual message timeouts
2022-11-08 09:37:37 -06:00
Chris Eager
69ed0edb74
Revert "Add more detailed queue processing rate metrics"
...
This reverts commit bbbab4b8a4 .
2022-11-08 09:35:39 -06:00
Chris Eager
ad5925908e
Change dispatch queues to LinkedBlockingQueues
2022-11-04 11:08:17 -05:00
Chris Eager
d186245c5c
Move all receipt sending work to executor
2022-11-04 11:08:06 -05:00
Chris Eager
bbbab4b8a4
Add more detailed queue processing rate metrics
2022-11-04 11:06:38 -05:00
Chris Eager
f83080eb8d
Update metric name
2022-11-03 14:50:20 -05:00
Chris Eager
e0178fa0ea
Move additional handling of MessagesManager#delete to executor
2022-11-03 13:02:25 -05:00
Chris Eager
c6a79ca176
Enable metrics on messages fluxes
2022-11-03 13:02:25 -05:00
Chris Eager
6426e6cc49
Enable reactor Schedulers metrics
2022-11-03 13:02:25 -05:00
Chris Eager
b13cb098ce
lettuce: set publishOnScheduler to true
2022-11-03 13:02:25 -05:00
Jon Chambers
afda5ca98f
Add a test for checking push challenge tokens
2022-11-03 11:14:59 -05:00
Chris Eager
eb57d87513
Remove message listener key only after successfully unsubscribing
2022-11-03 11:09:11 -05:00
Chris Eager
fbf6b9826e
tests: only call SQLite.setLibraryPath once
2022-11-03 11:08:43 -05:00
Chris Eager
a01b29a6bd
set off_session=true for subscription updates
2022-11-02 14:34:26 -05:00
Chris Eager
102992b095
Set off_session=true when creating subscriptions
2022-11-02 11:30:29 -05:00
Chris Eager
bd69905f2e
Remove obsolete donation endpoint
2022-11-02 11:29:03 -05:00
Chris Eager
ce5a4bd94a
Update wiremock to 2.34.0
2022-11-02 11:24:54 -05:00
Chris Eager
f65a613815
Update jackson to 2.13.4
2022-11-02 11:24:54 -05:00
sergey-signal
d87c8468bd
Update to the latest version of the abusive message filter ( #1138 )
2022-11-02 09:23:38 -07:00
Chris Eager
aa829af43b
Handle expected case of empty flux in message deletion
2022-10-31 12:29:25 -05:00
Chris Eager
c10fda8363
Use reactive streams for WebSocket message queue
...
Initially, uses `ExperimentEnrollmentManager` to do a safe rollout.
2022-10-31 10:35:37 -05:00
Jon Chambers
4252284405
Update to the latest version of the abusive message filter
2022-10-28 10:50:49 -04:00
Jon Chambers
74d65b37a8
Discard old Twilio machinery and rely entirely on the stand-alone registration service
2022-10-28 10:40:37 -04:00
sergey-signal
78f95e4859
Update to the latest version of the abusive message filter ( #1132 )
2022-10-27 14:01:16 -07:00
Jon Chambers
91626dea45
Count accounts rather than devices that are stories-capable
2022-10-25 16:36:05 -04:00
sergey-signal
5868d9969a
minor changes to utility classes ( #1127 )
2022-10-25 08:48:56 -07:00
erik-signal
90490c9c84
Clean up the TestClock code a bit more.
2022-10-21 15:27:15 -04:00
Chris Eager
8ea794baef
Add additional handling for nullable field in recurring donation record
2022-10-21 12:56:39 -05:00
Chris Eager
70a6c3e8e5
Update to libsignal-server 0.21.1
2022-10-21 12:54:18 -05:00
Jon Chambers
4813803c49
Add .java-version to .gitignore
2022-10-21 12:40:11 -04:00
erik-signal
fe60cf003f
Clean up testing with clocks.
2022-10-21 12:39:47 -04:00
erik-signal
0c357bc340
Add metrics tracking story capability adoption.
2022-10-20 12:25:03 -04:00
Chris Eager
b711288faa
Run GitHub Action in a container
2022-10-18 16:59:35 -05:00
Jon Chambers
44a5d86641
Revert "Update to libsignal-server 0.21.0"
...
This reverts commit cccccb4dd6 .
2022-10-18 11:44:50 -04:00
Jon Chambers
e7048aa9cf
Allow the reconciliation client to trust multiple CA certificates to facilitate certificate rotation
2022-10-18 11:17:47 -04:00
Jon Chambers
0120a85c39
Allow HTTP clients to trust multiple certificates to support certificate rollover
2022-10-18 11:17:47 -04:00
Jon Chambers
a41d047f58
Retire CertificateExpirationGauge in favor of other expiration monitoring tools
2022-10-18 11:17:47 -04:00
Chris Eager
cccccb4dd6
Update to libsignal-server 0.21.0
2022-10-18 11:17:29 -04:00
Jon Chambers
0a64e31625
Check verification codes for changing phone numbers against the stand-alone registration service when possible
2022-10-18 11:17:15 -04:00
Jon Chambers
3c6c6c3706
Use the gRPC BOM instead of calling out dependencies individually
2022-10-18 11:16:56 -04:00
Jon Chambers
8088b58b3b
Clarify default value for includeE164
2022-10-18 11:16:06 -04:00
erik-signal
a7d5d51fb4
Improve testing of MultiRecipientMessageProvider
2022-10-17 16:50:39 -04:00
Chris Eager
378d7987a8
device capabilities: prevent stories downgrade
2022-10-17 15:25:13 -04:00
erik-signal
3e0baf82a4
Filter unknown UUIDs for /multi_recipient&story=true.
2022-10-13 15:33:51 -04:00
Chris Eager
7a2683a06b
Remove /.tx/config from .gitignore
2022-10-11 15:04:50 -05:00
erik-signal
17a3c90286
Add "urgent" query parameter to /v1/messages/multi_recipient endpoint.
2022-10-11 11:10:11 -04:00
Chris Eager
6341770768
Update SubscriptionManager to store processor+customerId in a single attribute and a map
...
- add `type` query parameter to `/v1/subscription/{subscriberId}/create_payment_method`
2022-10-07 14:26:17 -05:00
Jon Chambers
308437ec93
Resolve gRPC/Netty version conflicts
2022-10-06 16:23:47 -04:00
Jon Chambers
d3d4916d6c
Update to the latest version of the abusive message filter
2022-10-06 15:43:37 -04:00
Jon Chambers
d2fa00f0c6
Add experiment to test standalone registration service
2022-10-06 15:42:53 -04:00
erik-signal
d6c9652a70
Fix internal server error when sending stories to unknown recipient.
2022-10-06 13:53:57 -04:00
Jon Chambers
0d20b73e76
Update to the latest version of the abusive message filter
2022-10-05 15:20:49 -04:00
Jon Chambers
3c655cdd5a
Migrate to "regionCode" instead of "region" to avoid tag name conflicts
2022-10-05 15:15:46 -04:00
Jon Chambers
fc5cd3a9ca
Update to protobuf-java 3.21.7
2022-10-05 15:15:34 -04:00
Jon Chambers
83ab926f96
Add a dimension for story messages
2022-10-05 15:15:22 -04:00
erik-signal
56e54e0724
Update to the latest version of the abusive message filter
2022-10-05 13:19:47 -04:00
erik-signal
544e4fb89a
Adjust routing for stories.
2022-10-05 12:20:42 -04:00
erik-signal
966c3a8f47
Add routing for stories.
2022-10-05 10:44:50 -04:00
Ravi Khadiwala
c2ab72c77e
Update to the latest version of the abusive message filter
2022-09-30 12:57:21 -05:00
Ravi Khadiwala
4468ee3142
Update to the latest version of the abusive message filter
2022-09-30 12:10:02 -05:00
Ravi Khadiwala
c82c2c0ba4
Add country tag to twilio failures
2022-09-30 12:03:46 -05:00
Ravi Khadiwala
6e595a0959
add an optionals utility and fix push challenge metric
2022-09-30 12:02:47 -05:00
Ravi Khadiwala
a79d709039
Return 403 when a push challenge is incorrect
2022-09-30 12:02:47 -05:00
Ravi Khadiwala
538a07542e
Update to the latest version of the abusive message filter
2022-09-22 11:20:48 -05:00
Ravi Khadiwala
07ed765250
Update abusive message filter and filter account creates
2022-09-20 14:52:18 -05:00
Ravi Khadiwala
2e497b5834
Fix operator order in metric calculation
2022-09-15 14:04:18 -05:00
Ravi Khadiwala
61b3cecd17
Fix missing increment on recaptcha counter
2022-09-14 17:07:26 -05:00
Ravi Khadiwala
a4a666bb80
Add metrics for recaptcha reasons
2022-09-14 16:00:11 -05:00
Ravi Khadiwala
c14621a09f
Add metrics for captcha scores
2022-09-14 16:00:11 -05:00
Ravi Khadiwala
d0a8899daf
Change discriminator seperator and default width
2022-09-14 15:53:15 -05:00
Chris Eager
65dbcb3e5f
Remove duplicate bom from dependencyManagement
2022-09-12 16:54:31 -05:00
Chris Eager
7f725b67c4
Update to the latest version of the abusive message filter
2022-09-12 11:24:37 -05:00
Chris Eager
e25252dc69
Remove unused exception
2022-09-12 11:19:15 -05:00
Chris Eager
8b65c11e1e
Update batch check entities from two optional fields to a single field
2022-09-12 11:19:01 -05:00
Chris Eager
320c5eac53
Add support for PNIs at v1/profile/identity_check/batch
2022-09-09 10:55:34 -05:00
Ehren Kret
8199e0d2d5
Set resource field on log entry
2022-09-07 19:37:26 -05:00
Ehren Kret
53387f5a0c
Register polymorphic serialization
2022-09-07 19:37:26 -05:00
Ehren Kret
7d171a79d7
Remove redundant @NotNull annotation
2022-09-07 19:37:26 -05:00
Ehren Kret
3b99bb9e78
Log remote config delete events
2022-09-07 19:37:26 -05:00
Ehren Kret
132f026c75
Improve readability of event code
2022-09-07 19:37:26 -05:00
Ehren Kret
abd0f9630c
Create GCP Logging implementation of AdminEventLogger
2022-09-07 19:37:26 -05:00
Ehren Kret
a4508ec84f
Add new event logging module
2022-09-07 19:37:26 -05:00
Ehren Kret
6119b6ab89
Upgrade java-uuid-generator dependency
2022-09-07 19:37:26 -05:00
Ehren Kret
307ac47ce0
Update DynamoDBLocal dependency version
2022-09-07 19:37:26 -05:00
Ravi Khadiwala
4032ddd4fd
Add reserve/confirm for usernames
2022-09-07 11:49:49 -05:00
Chris Eager
98c8dc05f1
Update to the latest version of the abusive message filter
2022-09-07 11:49:01 -05:00
Chris Eager
4c677ec2da
Remove deprecated /v1/attachments
2022-09-07 11:48:16 -05:00
Chris Eager
c05692e417
Update deprecated CircuitBreakerConfig usage
2022-09-07 11:47:15 -05:00
Chris Eager
1e7aa89664
Update resilience4j to 1.7.0
2022-09-07 11:47:15 -05:00
gram-signal
ae1edf3c5c
Remove experiment associated with auth1->auth2 rollout.
2022-08-31 12:10:46 -06:00
gram-signal
b17f41c3e8
Check if dashes work in dynamic configuration keys.
2022-08-29 15:51:37 -06:00
gram-signal
08db4ba54b
Update authentication to use HKDF_SHA256.
2022-08-29 14:20:47 -06:00
gram-signal
cb6cc39679
Ignore null identity key.
2022-08-29 13:26:49 -06:00
Jon Chambers
b6bf6c994c
Remove a spurious @Nullable annotation
2022-08-26 15:22:23 -04:00
Jon Chambers
3bb4709563
Add CLDR region as a dimension
2022-08-26 12:41:51 -04:00
Jon Chambers
b280c768a4
Allow signup captchas to target CLDR two-letter region codes
2022-08-26 12:41:51 -04:00
Chris Eager
d23e89fb9c
Update micrometer to 1.9.3
2022-08-25 13:46:36 -07:00
Chris Eager
3a27bd0318
Update test dependencies
2022-08-25 13:40:46 -07:00
Chris Eager
616513edaf
Remove unused jdbi dependency
2022-08-25 13:40:46 -07:00
Chris Eager
09a51020e9
Update stripe-java to 21.2.0
2022-08-25 13:40:46 -07:00
Chris Eager
cb8cb94d1a
Update aws java v1 SDK to 1.12.287
2022-08-25 13:40:46 -07:00
Chris Eager
2440dc0089
Update netty to 4.1.79.Final
2022-08-25 13:40:46 -07:00
Chris Eager
2336eef333
Update aws java v2 SDK to 2.17.258
2022-08-25 13:40:46 -07:00
Chris Eager
a0e948627c
Update jackson to 2.13.3
2022-08-25 13:40:46 -07:00
Chris Eager
88159af588
Update dropwizard to 2.0.32
2022-08-25 13:40:46 -07:00
Chris Eager
38b77bb550
Update libphonenumber to 8.12.54
2022-08-25 13:40:32 -07:00
Jon Chambers
e72d1d0b6f
Stop reading attribute-based messages from the messages table
2022-08-22 13:37:39 -07:00
Ravi Khadiwala
1891622e69
Zero-pad discriminators less than initial width
2022-08-22 13:36:38 -07:00
Chris Eager
628a112b38
Include country code for verify failure
2022-08-19 12:21:05 -07:00
Jon Chambers
50f5d760c9
Use existing tagging tools for keepalive counters
2022-08-16 13:16:19 -07:00
Jon Chambers
7292a88ea3
Record table performance metrics around reported messages
2022-08-16 13:15:30 -07:00
Jon Chambers
07cb3ab576
Add a "sealed sender" dimension to the sent message counter
2022-08-16 13:11:12 -07:00
Chris Eager
27b749abbd
Filter expired items from Dynamo
2022-08-16 13:09:47 -07:00
Chris Eager
27f67a077c
Add metrics for report-verification-succeeded response
2022-08-16 13:08:16 -07:00
Ravi Khadiwala
393e15815b
Rename secondary account key namespace for usernames
2022-08-15 10:51:52 -05:00
Ravi Khadiwala
a7f1cd25b9
Remove UAK normalization code
...
All accounts now have UAKs in top-level attributes
2022-08-15 10:47:52 -05:00
Ravi Khadiwala
953cd2ae0c
Revert "Delete any leftover usernames in the accounts db"
...
This reverts commit a44c18e9b7 .
Old username cleanup is finished.
2022-08-15 10:45:38 -05:00
ravi-signal
a84a7dbc3d
Add support for generating discriminators
...
- adds `PUT accounts/username` endpoint
- adds `GET accounts/username/{username}` to lookup aci by username
- deletes `PUT accounts/username/{username}`, `GET profile/username/{username}`
- adds randomized discriminator generation
2022-08-15 10:44:36 -05:00
Chris Eager
24d01f1ab2
Revert "device capabilities: prevent stories downgrade"
...
This reverts commit 1c67233eb0 .
2022-08-12 14:21:27 -05:00
Chris Eager
06eb890761
Improve e164 normalization check by re-parsing without country code
2022-08-12 10:52:55 -07:00
Chris Eager
6d0345d327
Clean up Util
2022-08-12 10:52:55 -07:00
Chris Eager
1c67233eb0
device capabilities: prevent stories downgrade
2022-08-12 10:51:16 -07:00
Jon Chambers
b4281c5a70
Send non-urgent push notifications with lower priority
2022-08-12 11:06:31 -04:00
Jon Chambers
5f6b66dad6
Add support for scheduling background push notifications
2022-08-12 10:57:59 -04:00
Jon Chambers
c2be0af9d9
Refactor ApnPushNotificationSchedulerTest to use a Clock
2022-08-12 10:57:59 -04:00
Jon Chambers
c111e9a35a
Update to the latest version of the abusive message filter
2022-08-12 10:50:53 -04:00
Jon Chambers
a53a85d788
Refactor scheduled APNs notifications in preparation for future development
2022-08-12 10:47:49 -04:00
Ravi Khadiwala
a44c18e9b7
Delete any leftover usernames in the accounts db
...
The account username field should not currently be populated
2022-08-11 16:23:51 -05:00
Jon Chambers
4d78437fe4
Add a country code dimension to the non-normalized number counter
2022-08-10 15:03:01 -04:00
Jon Chambers
2bfe2c8ff8
Add an "urgent" dimension to the "sent messages" counter
2022-08-10 15:00:46 -04:00
Chris Eager
65da844d70
Small test cleanup
2022-08-09 15:32:44 -05:00
Chris Eager
5275c27ee1
Fix incorrect test Javadoc
2022-08-09 13:06:15 -07:00
Chris Eager
390580a19d
Count cases when the a message’s destination UUID doesn’t match the account’s PNI
2022-08-09 13:06:15 -07:00
Jon Chambers
147917454f
Measure the depth of the queue for the FCM executor
2022-08-04 15:53:26 -04:00
Jon Chambers
39562775d9
Use a fixed-size thread pool for sending FCM notifications
2022-08-04 15:37:22 -04:00
Jon Chambers
4a0ef1f834
Measure the time taken to send APNs push notifications
2022-08-04 10:43:07 -04:00
Jon Chambers
85b16b674d
Measure the time taken to send FCM push notifications
2022-08-04 10:43:07 -04:00
Jon Chambers
ab5d8ba120
Use ApiFutures#addCallback for FCM futures
2022-08-04 10:43:07 -04:00
Jon Chambers
28076335e0
Generate APNs payloads using a payload builder
2022-08-04 10:37:30 -04:00
Jon Chambers
9e9333424f
Retire RetryingApnsClient
2022-08-04 09:59:18 -04:00
Jon Chambers
6f0faae4ce
Introduce common push notification interfaces/pathways
2022-08-03 10:07:53 -04:00
Jon Chambers
0d24828539
Drop the gcm-sender-async module
2022-08-02 17:31:35 -04:00
Jon Chambers
0a6d724f2c
Remove GCMSender
2022-08-02 17:31:35 -04:00
Jon Chambers
8956e1e0cf
Check for null FCM error codes
2022-08-02 17:29:31 -04:00
Jon Chambers
c9ae991aa3
Add an experiment to allow a phased transition from the old GCM API to the current FCM API
2022-08-02 15:34:09 -04:00
Jon Chambers
421d594507
Introduce an FcmSender
2022-08-02 15:34:09 -04:00
Jon Chambers
9c03f2e468
Add support for receiving, storing, and returning urgent flags on messages
2022-08-02 12:05:23 -04:00
Chris Eager
1175ff5867
Log cause when queue processing hits max retries
2022-08-02 08:36:16 -07:00
Chris Eager
55df593561
Clean up MessageAvailabilityListener if the websocket client is closed
2022-08-02 08:35:16 -07:00
Chris Eager
a06a663b94
Use the envelope’s destination UUID for receipt source UUID
2022-08-02 08:34:20 -07:00
Chris Eager
3d2f7e731f
Remove Envelope.source
2022-08-02 08:34:20 -07:00
Chris Eager
2575372639
Add missing increment() to displacement counter
2022-08-02 08:30:54 -07:00
Jon Chambers
faa6e8324a
Fix a test issue where we were ignoring some test parameters
2022-08-01 11:02:33 -04:00
Jon Chambers
d0e3fb1901
Unconditionally write messages to the messages table as envelopes
2022-08-01 10:44:27 -04:00
Jon Chambers
04287c5073
Optionally write messages as envelopes to the messages table
2022-07-29 11:10:50 -04:00
Jon Chambers
0c76fdd36c
Read bare envelopes from the messages table if possible
2022-07-29 11:10:50 -04:00
Jon Chambers
d582942244
Update to the latest version of the abusive message filter
2022-07-29 10:59:02 -04:00
Jon Chambers
3636626e09
Make Envelope the main unit of currency when working with stored messages
2022-07-29 10:59:02 -04:00
Jon Chambers
3e0919106d
Add a method to build an OutgoingMessageEntity from an Envelope
2022-07-29 10:59:02 -04:00
Jon Chambers
d385838dc1
Add methods to convert IncomingMessage/OutgoingMessageEntity instances into Envelope entities
2022-07-29 10:59:02 -04:00
Jon Chambers
e28f1e8ceb
Remove the unused destination property from IncomingMessage
2022-07-29 10:59:02 -04:00
Jon Chambers
3d875f1ce5
Convert incoming/outgoing message entities to records
2022-07-29 10:59:02 -04:00
Jon Chambers
c4c5397b44
Convert group credential redemption time to a long
2022-07-28 10:08:25 -04:00
Jon Chambers
6b6f9b2405
Add PNI to GroupCredentials responses that contain AuthCredentialWithPni instances
2022-07-28 10:08:25 -04:00
Jon Chambers
7d4a8d03a4
Mark old group credential getter as @Deprecated
2022-07-28 10:08:25 -04:00
Jon Chambers
e9119da040
Retire the (unused!) binary message format
2022-07-28 09:59:00 -04:00
Chris Eager
aa36dc95ef
Add MicrometerCommandLatencyRecorder to Redis clusters
2022-07-27 14:23:14 -07:00
Chris Eager
a6f9409a39
Remove dynamic configuration feature flags; add DynamicMessagePersisterConfiguration
2022-07-27 14:19:10 -07:00
Chris Eager
41a113e22c
Stop queue persistence attempt if items aren’t removed from cache
2022-07-27 14:19:10 -07:00
Chris Eager
4cfcdb0c96
editorconfig formatting
2022-07-27 14:19:10 -07:00
Ravi Khadiwala
36050f580e
Handle duplicate device ids more gracefully
2022-07-27 11:15:32 -05:00
Jon Chambers
98760b631b
Don't wrap "change number" arguments in Optional
2022-07-27 10:55:37 -04:00
Jon Chambers
d00aa1e77a
Fix an inconsistent check for the presence/absence of "change number" arguments
2022-07-27 10:55:37 -04:00
Jon Chambers
dce391a248
Add support for setting PNI-associated registration IDs and identity keys when changing numbers
2022-07-26 15:19:27 -04:00
Antonin Tritz
c252118cfc
External links in comments from http to https
2022-07-26 15:17:58 -04:00
Chris Eager
e9fd32de79
Only attempt to unsubscribe if the queue name is not null
2022-07-26 10:20:10 -07:00
Chris Eager
788246a56f
Update Lettuce to 6.1.9
2022-07-26 09:22:13 -07:00
Chris Eager
bc02fe3831
Only unsubscribe from keyspace notifications if the node has the slot
2022-07-26 09:21:50 -07:00
Jon Chambers
d290aad27b
Associate source/destination country codes for reported messages
2022-07-14 09:31:12 -04:00
Jon Chambers
6754ec5e10
Pass disconnection reason (if known) to clients
2022-07-13 15:30:03 -04:00
Jon Chambers
1ba00a66eb
Pass the reason for displacement to presence displacement listeners
2022-07-13 15:30:03 -04:00
Jon Chambers
1dd7d33e23
Simplify Device entity
2022-07-13 13:55:20 -04:00
Jon Chambers
e200548e35
Introduce an account change validator
2022-07-13 12:24:39 -04:00
Jon Chambers
fdf7b69996
Remove a temporary workaround for incorrect envelope types from iOS clients
2022-07-13 11:30:52 -04:00
Jon Chambers
92d36b725f
Allow presence keys to expire if not periodically renewed
2022-07-13 11:28:55 -04:00
Jon Chambers
4e131858ca
Generalize scope of and expand size of websocket scheduled executor service
2022-07-13 11:28:55 -04:00
Ravi Khadiwala
a45d95905e
Be permissive in account-create accept-language
...
Currently, if we fail to parse a user's accept-language in account
creation, creation will fail. While it's a suboptimal experience to get
a verify code in the wrong language, it might be better than not being
able to sign up at all.
2022-07-13 11:22:31 -04:00
Ehren Kret
0fdfdabf2a
merge GroupController into CertificateController
2022-07-01 13:04:24 -05:00
Jon Chambers
a25e967978
Remove spurious mocking
2022-07-01 12:26:22 -05:00
Jon Chambers
38e30c7513
Allow callers to get an expiring profile key credential
2022-07-01 12:26:22 -05:00
Jon Chambers
e38e5fa17d
Allow callers to request a combined group auth credential
2022-07-01 12:26:22 -05:00
Jon Chambers
c1f9bedf2f
Update to libsignal-server 0.18
2022-06-23 14:25:28 -04:00
Jon Chambers
dd5d0ea2b3
Update to the latest version of the abusive message filter
2022-06-23 08:37:27 -04:00
Ehren Kret
42fd29d38b
Update badge description text to remove boost & sustainer language
2022-06-21 13:36:12 -05:00
Ehren Kret
bf6d3aa324
Fix batching issue that was causing duplication in large queries
2022-06-20 12:41:10 -05:00
Ehren Kret
023ccc6563
Add a unit test for the batch identity check endpoint
2022-06-20 12:32:31 -05:00
Ehren Kret
da49db5b9e
Move batch identity checks off the common fork join pool
2022-06-20 11:07:33 -05:00
Ehren Kret
cc8dda28cc
Simplify logic for batching bulk identity check request
2022-06-20 10:28:20 -05:00
Ehren Kret
47300c1d44
Upgrade vavr to 0.10.4 from 0.10.2
2022-06-20 10:27:50 -05:00
Ehren Kret
d31550d444
Only wrap Base64 decode with the exception catch
2022-06-20 09:42:33 -05:00
Ehren Kret
51f37350eb
Because one shouldn't take the size of null things
2022-06-17 15:03:25 -05:00
Ehren Kret
ecfa161da8
Validate the request
2022-06-17 14:32:38 -05:00
Ehren Kret
e3778c17ea
Use POST not GET for request requiring body
2022-06-17 14:31:15 -05:00
Ehren Kret
cbc95415b7
Add endpoint to batch check identity keys
2022-06-17 12:20:30 -05:00
Ehren Kret
776c0aa488
Don't use inner class imports
2022-06-17 11:21:30 -05:00
Ravi Khadiwala
327eb0219d
Bypass account registration captcha on test devices
2022-06-13 15:01:46 -07:00
Jon Chambers
8507b6a1f0
Update to libphonenumber 8.12.50
2022-06-13 14:46:57 -07:00
gram-signal
a853748303
Revert "Update ChangeNumber to allow reset of registration IDs."
...
This reverts commit 7001ad1445 .
2022-06-09 11:51:50 -06:00
Jon Chambers
192e884e4a
Update to embedded-redis 0.8.3
2022-06-03 09:31:32 -04:00
gram-signal
7001ad1445
Update ChangeNumber to allow reset of registration IDs.
2022-06-02 16:37:32 -06:00
Ravi Khadiwala
5cfb133f79
Use redis for abusive hosts autoblock
...
Also delete postgres dependencies that we no longer need
2022-05-31 10:08:10 -05:00
Ehren Kret
5df24edebf
Remove all unused imports remaining in project
2022-05-25 17:15:20 -05:00
Ehren Kret
95d0293a96
Remove unused counter
2022-05-25 16:57:01 -05:00
Ehren Kret
f5a2efb57c
Clarify hidden static method call
2022-05-25 16:51:12 -05:00
Ehren Kret
e4b9ae4eee
Clear up warnings
2022-05-25 16:50:58 -05:00
Ehren Kret
bc1ac5a37f
Remove unused fields
2022-05-25 16:50:43 -05:00
Ehren Kret
96ac56faac
Remove unused import
2022-05-25 16:38:11 -05:00
Ehren Kret
f0bc444388
Remove unused timer
2022-05-25 16:37:51 -05:00
Ravi Khadiwala
8584f47d95
Add more metrics to createAccount captcha
2022-05-25 15:50:11 -04:00
Jon Chambers
f6235b8c08
Check for newly-expired accounts before previously-expired accounts for metric accuracy
2022-05-25 15:49:54 -04:00
Jon Chambers
d452e90470
Move AccountCleaner into its own crawler
2022-05-25 15:46:18 -04:00
Jon Chambers
418a869451
Increase max deletions per chunk to 256
2022-05-25 14:19:04 -04:00
Jon Chambers
cf89e2215c
Fully delete already-expired accounts
2022-05-25 14:19:04 -04:00
Jon Chambers
a4ca1ef1a8
Move AccountCleanerTest out of the test package; reduce visibility of test-only fields
2022-05-25 14:19:04 -04:00
Ehren Kret
c38572307d
Remove unused imports
2022-05-20 10:20:45 -07:00
Fedor Indutny
20902df122
Fix ZRANGE arguments in get_items.lua
2022-05-19 12:14:02 -07:00
Fedor Indutny
d31ddb72f3
Optimize message deletion by skipping lookup
2022-05-18 13:02:21 -07:00
Ehren Kret
d5f2d86bd2
Add Maven Wrapper
2022-05-13 14:14:37 -05:00
Jon Chambers
2ce8bcd565
Update to the latest version of the abusive message filter
2022-05-11 14:27:32 -04:00
Jon Chambers
75c92eaa93
Drop high-cardinality distribution summaries
2022-05-11 14:26:38 -04:00
Chris Eager
0445adcac3
Conclude ReportMessageManager ACI migration
2022-05-11 11:26:24 -07:00
Sgn-32
c45ff61954
Update libphonenumber to 8.12.48
2022-05-11 14:17:13 -04:00
gram-signal
06dd4c5026
Derive username from ACI for CDS{H,I} ( #989 )
...
* Derive username from ACI for CDS{H,I}
* Update sample YAML.
2022-05-02 08:41:38 -06:00
Ehren Kret
058caadf4f
Use BigDecimal#compareTo for numeric equality testing
2022-04-29 14:20:09 -05:00
Ehren Kret
7b7d309105
Apply stripe conversion factor to gift badge amount check
2022-04-29 13:48:10 -05:00
Ehren Kret
63be7b93ce
Record level on boost payment intent
2022-04-29 12:06:15 -05:00
Ehren Kret
578ea12b59
Add gift badges to user capabilities
2022-04-29 11:08:36 -05:00
Ehren Kret
364e59be57
Add shape to duration to ensure it's render as an integer
2022-04-29 10:14:39 -05:00
Ehren Kret
fece4dac9e
Add duration to boost badges
...
Lets clients know how long the badge will last for after purchase.
2022-04-29 10:14:39 -05:00
Ehren Kret
ce85c1aabc
Add name and description for gift badge
2022-04-29 10:14:39 -05:00
Ehren Kret
0ac2ce5e72
Add gift badge to the level output for boost badges
2022-04-29 10:14:39 -05:00
Ehren Kret
391c800bf5
Add gift configuration to subscription controller
2022-04-29 10:14:39 -05:00
Ehren Kret
9c27b58194
Update sample configuration file
2022-04-29 10:14:39 -05:00
Ehren Kret
f6471cf8f9
Add gift configuration source
2022-04-29 10:14:39 -05:00
Ehren Kret
f21e9bcc4d
Upgrade jackson dependencies
2022-04-29 10:14:39 -05:00
Jon Chambers
1eaff753a6
Count "forbidden identity key change" events
2022-04-22 15:53:43 -04:00
JanLukasGithub
9b3a8897cd
Change copyright to 2022
2022-04-22 14:20:34 -04:00
Jon Chambers
40f8cddfb2
Update to libsignal-server 0.16.0
2022-04-20 16:00:12 -04:00
Ehren Kret
c29d5de1eb
Refactor two more switch statements to new switch style
2022-04-19 13:39:38 -05:00
Ehren Kret
d94c171d63
Use new style switch statement
2022-04-19 13:35:26 -05:00
Ehren Kret
2717967d61
Revert submodule change from 473ecbdf2d
2022-04-19 10:53:58 -05:00
Ehren Kret
53203dbcef
Refactor common pattern for checking Account capabilities
2022-04-19 10:33:54 -05:00
Ehren Kret
9e66f8ac11
Add gift badges device capability
2022-04-19 10:33:54 -05:00
Ehren Kret
796fb3b4cd
Refactor Device#equals method
2022-04-19 10:33:54 -05:00
gram-signal
473ecbdf2d
Allow primary to set and provide new signed prekeys for linked devices ( #950 )
2022-04-15 12:39:47 -06:00
Chris Eager
7b3703506b
Remove number from ReportMessageManager#store
2022-04-13 16:41:32 -04:00
Jon Chambers
5816f76bbe
Add support for getting (limited) profiles by phone number identifier
2022-04-13 16:27:57 -04:00
Ehren Kret
355996bafc
Add outcome type to subscription information endpoint
2022-04-08 12:31:31 -05:00
Ehren Kret
c2bb46f41d
Add outcome network status and outcome reason to subscription info
2022-04-08 12:31:31 -05:00
Ehren Kret
12f76c24b1
Add failure information for the latest charge on a subscription
2022-04-08 12:31:31 -05:00
amit
4b8ebc9a17
Revert "newlines for a test."
...
I had expected this to be rejected -- whoops!
This reverts commit 42a109e593 .
2022-03-29 12:47:34 -07:00
amit
42a109e593
newlines for a test.
2022-03-29 11:29:43 -07:00
Jon Chambers
8064e68873
Update libsignal-server to 0.15.1 to resolve a glibc version conflict
2022-03-29 12:24:45 -04:00
Jon Chambers
3dc0d0bb92
Revert "Revert "Replace curve25519-java with libsignal-server""
...
This reverts commit c06a5ac96c .
2022-03-29 12:24:45 -04:00
Jon Chambers
2bb8f92af1
Revert "Revert "Replace zkgroup with libsignal-server""
...
This reverts commit fa3a9570d6 .
2022-03-29 12:24:45 -04:00
Jon Chambers
5b7d5d2b93
Reduce "unrecoverable error" messages when sending GCM notifications from WARN to DEBUG
2022-03-25 14:34:44 -07:00
Jon Chambers
2b27db18d8
Count GCM failures by error code
2022-03-25 14:34:44 -07:00
Jon Chambers
f3c811cc03
Move "no local subscription" warnings from WARN to DEBUG
2022-03-25 14:34:44 -07:00
Chris Eager
df415208a4
Update to the latest version of the abusive message filter
2022-03-25 14:32:55 -07:00
Chris Eager
77fd01bd9f
Accept source ACI at /v1/messages/report
2022-03-25 14:27:09 -07:00
Jon Chambers
fa3a9570d6
Revert "Replace zkgroup with libsignal-server"
...
This reverts commit 86a09b16ff .
2022-03-24 12:11:46 -04:00
Jon Chambers
c06a5ac96c
Revert "Replace curve25519-java with libsignal-server"
...
This reverts commit 06a57ef811 .
2022-03-24 12:11:46 -04:00
Jon Chambers
33467b42da
Remove a deprecated/unused field
2022-03-24 10:50:49 -04:00
Jon Chambers
13fb641113
Make field name casing consistent
2022-03-24 10:50:49 -04:00
Jon Chambers
53f17c2baa
Drop the legacy message and relay fields from message entities
2022-03-24 10:50:49 -04:00
Jordan Rose
06a57ef811
Replace curve25519-java with libsignal-server
...
These APIs stemmed from a common source long ago, so there's not much
to change!
2022-03-24 10:50:18 -04:00
Jordan Rose
86a09b16ff
Replace zkgroup with libsignal-server
2022-03-24 10:50:18 -04:00
Ravi Khadiwala
c70d7535b9
Make TURN configuration dynamic
...
Also enables conditionally including more TURN servers for gradual
rollouts
2022-03-23 14:38:02 -05:00
Ravi Khadiwala
8541360bf3
Update to the latest version of the abusive message filter
2022-03-23 14:32:55 -05:00
Jon Chambers
2a832d36d7
Remove AcceptNumericOnlineFlagRequestFilter
2022-03-23 14:31:01 -05:00
gram-signal
1578c89475
Only allow primary device to update identity key.
2022-03-22 14:39:04 -06:00
Chris Eager
5c13e54149
Various dependency updates
...
- protobuf-java to 3.19.4
- libphonenumber to 8.12.45
- logstash-logback-encoder to 7.0.1
- mockito to 4.3.1
2022-03-22 09:58:08 -04:00
Jon Chambers
8e74cf6633
Update to the latest version of the abusive message filter
2022-03-22 09:56:27 -04:00
Jon Chambers
bab6b36e4d
Count reported messages by destination country code in addition to source country code
2022-03-22 09:56:27 -04:00
Jon Chambers
f75e616397
Introduce a listener pattern for reported messages
2022-03-22 09:56:27 -04:00
Jon Chambers
941a9c3b39
Update to the latest version of the abusive message filter
2022-03-17 16:08:20 -04:00
Jon Chambers
7ba0f604e6
Tag the push challenge request counter by country
2022-03-17 16:07:48 -04:00
Chris Eager
cf8a4cc939
Decrease receipt sender executor thread pool
2022-03-17 13:07:03 -07:00
Jon Chambers
ee78daeeef
Update to the latest version of the abusive message filter
2022-03-16 15:30:43 -04:00
Jon Chambers
2f6b0b1a55
Tag push challenge attempt metrics by country code
2022-03-16 15:00:04 -04:00
Jon Chambers
c048074c31
Tag captcha attempt metrics with UA platform
2022-03-16 15:00:04 -04:00
Ravi Khadiwala
5ca89709e3
Update to the latest version of the abusive message filter
2022-03-14 14:15:51 -05:00
Ravi Khadiwala
5a88ff0811
Use the async dynamo client to batch uak updates
2022-03-14 14:02:16 -05:00
Chris Eager
de68c251f8
Instrument the receipt sender executor
2022-03-11 17:20:52 -08:00
Chris Eager
7c9ae3561d
Send delivery receipts asynchronously
2022-03-11 16:34:22 -08:00
Chris Eager
b608ece57e
Remove supportsAnnouncementGroups metric
2022-03-11 16:18:00 -08:00
Chris Eager
8dfffebaf1
Remove unnecessary check for destination UUID
2022-03-11 16:17:54 -08:00
Jon Chambers
109a3bb2b9
Update to Pushy 0.15.1
2022-03-10 11:08:53 -05:00
Chris Eager
fef37f739b
Remove unused classes and methods
2022-03-10 11:08:38 -05:00
Jon Chambers
7a5615182a
Update to the latest version of the abusive message filter
2022-03-10 11:06:04 -05:00
Ravi Khadiwala
02a7003ffe
Update to the latest version of the abusive message filter
2022-03-09 14:14:47 -06:00
Ravi Khadiwala
1571f14815
Add a feature flag to disable account normalization
2022-03-09 14:03:21 -06:00
Ravi Khadiwala
9cb098ad8a
Add a top-level uak to existing items
...
Items wirtten before we started storing the uak at
the top level only store the uak in the
account blob. The will be updated on account
crawl
2022-03-09 14:03:21 -06:00
Jon Chambers
6283f5952d
Update to the latest version of the abusive message filter
2022-03-08 10:03:38 -05:00
Jon Chambers
9b9edbae0e
Drop DeadLetterHandler (which is functionally unused)
2022-03-08 10:03:06 -05:00
Chris Eager
491155d1cf
Remove @Consumes from GET/DELETE in /v1/subscriptions
2022-03-04 15:36:02 -08:00
Chris Eager
54207254f1
Remove unused configuration
2022-03-04 11:44:17 -08:00
Chris Eager
1395dcc0be
Make the enterprise client canonical
2022-03-04 11:44:17 -08:00
Chris Eager
2a68d9095d
Remove transitional and legacy client
2022-03-04 11:44:17 -08:00
Chris Eager
a984b3640e
Further refine score distribution summary
2022-03-04 11:44:17 -08:00
Jon Chambers
f9c1e411aa
Remove netty-tcnative as a dependency
2022-03-04 10:45:18 -05:00
Jon Chambers
f6cbc32ee7
Align "link device" and "fetch pre-keys" rate limits
2022-03-04 10:45:06 -05:00
Chris Eager
602614acf6
Refine assessment metrics
2022-03-03 16:09:49 -08:00
Chris Eager
3854b7d472
Remove @Consumes from GET /v1/config
2022-03-03 16:08:55 -08:00
Jon Chambers
5e25481088
Fix a trivial typo in a constant's name
2022-03-03 10:59:19 -05:00
Jon Chambers
fe86e15d80
Remove PNI repair code
2022-03-03 10:25:11 -05:00
Jon Chambers
179b4a69eb
Clear one-time pre-keys when PNIs are assigned
2022-03-03 10:24:54 -05:00
Chris Eager
eee6307789
Move score floor to dynamic configuration, add distribution summary
2022-03-02 15:18:33 -08:00
Chris Eager
9fc5002619
Add stories capability
2022-03-02 15:16:21 -08:00
Ravi Khadiwala
faa6ae284a
Add uak as a top level attribute
2022-03-02 10:41:09 -06:00
Jon Chambers
8b4355b21d
Add a "challenge issued" counter tagged by country and platform
2022-03-02 10:40:47 -06:00
Jon Chambers
e8835da740
Tag captcha success rate counter by country
2022-03-02 10:40:47 -06:00
Dimitris Apostolou
75854e104e
Fix typo
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com >
2022-03-01 14:14:52 -08:00
Dimitris Apostolou
93d06e3f4d
Fix typos
2022-03-01 14:14:52 -08:00
Chris Eager
c560b9229c
Update to the latest version of the abusive message filter
2022-03-01 10:43:12 -08:00
Chris Eager
935e268dec
Parameterize sitekey
2022-03-01 10:40:42 -08:00
Jon Chambers
3a1c716c73
Remove an unused rate limiter
2022-02-25 13:50:17 -08:00
Chris Eager
f3457502a6
Support different v2 captcha actions
2022-02-25 13:49:47 -08:00
Ravi Khadiwala
7ded802df4
Update to the latest version of the abusive message filter
2022-02-24 17:30:02 -06:00
Ravi Khadiwala
d3cd1d1b15
Use GetLatestConfiguration in config manager
...
Use StartConfigurationSession/GetLatestConfiguration instead of
GetConfiguration since the latter has been deprecated
2022-02-23 15:36:33 -06:00
Ravi Khadiwala
f5a75c6319
Simplify RateLimitExceeded with no retry-duration
...
- Avoid passing negative durations in error cases
- Drop unused message
- Return a duration for a bad forwarded-for
2022-02-23 15:25:24 -06:00
Ravi Khadiwala
ae3a5c5f5e
Return a Retry-After on rate-limited responses
...
Previously, only endpoints throwing a RetryLaterException would include
a Retry-After header in the 413 response. Now, by default, all
RateLimitExceededExceptions will be marshalled into a 413 with a
Retry-After included if possible.
2022-02-23 15:25:24 -06:00
Jon Chambers
43792e2426
Update to the latest version of the abusive message filter
2022-02-22 11:03:41 -05:00
Jon Chambers
551d639951
Update Postgres driver to 42.3.3
2022-02-18 10:41:29 -05:00
Jordan Rose
c367a71223
APNS: include a collapse-id for non-VOIP notifications
...
This has two benefits:
- The APNS server should only send an iOS client a single push
notification for any missed messages while the device is offline
(server-side coalescing). Note that the client can still turn that
into multiple "user notifications" as it pulls from its queue.
- If multiple notifications get delivered but iOS is unable to process
them (say, because the phone just restarted and hasn't been unlocked
yet), the user should only get one "You may have received messages"
notification (client-side coalescing).
2022-02-18 10:41:10 -05:00
Chris Eager
d259ef0348
Update rate limit exceeded counter
2022-02-17 13:23:48 -08:00
Chris Eager
288cbf4a80
Clean up null-ability of incoming message entity fields
2022-02-17 13:23:48 -08:00
Chris Eager
ba5e5a780f
Throw an exception instead of using Optional<Resposne>
2022-02-17 13:23:48 -08:00
Chris Eager
73fa3c3fe4
Add test for content length validation
2022-02-17 13:23:48 -08:00
Chris Eager
579eb85175
Reject invalid envelope types
2022-02-17 13:23:48 -08:00
Chris Eager
b2b20072ae
Add MicrometerRegistryManager
2022-02-17 13:18:30 -08:00
Chris Eager
a2c4d3fe95
Use a strong reference to the application shutdown gauge
2022-02-17 13:18:30 -08:00
Ravi Khadiwala
31e2be2e4d
Fixup invalid accept-language counter
...
- Fix name
- Add platform/version tags to the counter
2022-02-10 11:57:25 -06:00
Ravi Khadiwala
9f5d97e1c6
Silence noisy warnings for invalid Accept-Language
2022-02-10 11:57:25 -06:00
Ravi Khadiwala
baaae6cd9f
Add @NotNull to controller args where appropriate
...
Notably, `@Valid` doesn't imply `@NotNull`
2022-02-10 11:57:04 -06:00
Chris Eager
ed398aa7b9
Add DeviceCapabilities.pni
2022-02-09 15:56:01 -08:00
Chris Eager
6e2ae42dab
Add platform to metrics
2022-02-09 15:55:07 -08:00
Chris Eager
7f832ad783
Update to AWS SDK 2.17.125, 1.12.154
2022-02-07 16:46:25 -08:00
Chris Eager
2ce6f8cb6c
Update to Dropwizard 2.0.28
2022-02-07 16:46:18 -08:00
Chris Eager
2574125199
Update libphonenumber to 8.12.42
2022-02-07 16:45:48 -08:00
Jordan Rose
41bf2b2c42
Add a binary format for incoming messages
...
The existing, general incoming message endpoint accepts messages as
JSON strings containing base64 data, along with all the metadata as
other JSON keys. That's not very efficient, and we don't make use of
that full generality anyway. This commit introduces a new binary
format that supports everything we're using from the old format (with
the help of some query parameters like multi-recipient messages).
2022-02-07 16:05:03 -08:00
Jon Chambers
51bac394ec
Update to the latest version of the abusive message filter
2022-02-02 17:32:45 -05:00
Jon Chambers
b696649c9d
Update to the latest version of the abusive message filter
2022-01-31 16:24:09 -05:00
Chris Eager
b4828ad8de
Update embedded-redis to 0.8.2
2022-01-31 13:01:52 -08:00
Chris Eager
639d634426
Restore displaced UUID from deleted accounts table when present
2022-01-31 13:01:36 -08:00
Chris Eager
5358fc4f43
Use setRegistrationLockFromAttributes
2022-01-31 12:56:59 -08:00
Jon Chambers
6a654ab90b
Update to the latest version of the abusive message filter
2022-01-28 11:26:40 -05:00
Jon Chambers
99eda80a78
Measure rate limit challenge responses by platform
2022-01-27 16:05:52 -05:00
Chris Eager
a6182acc9c
Require any transitive dependencies on log4j to use 2.17.1
2022-01-27 10:25:13 -08:00
Jon Chambers
2241e4d8ea
Update to the latest version of the abusive message filter
2022-01-26 16:30:45 -05:00
Jon Chambers
cbbdea1ba4
Impose more stringent requirements on cardinality checks
2022-01-26 16:13:12 -05:00
Jon Chambers
05e7c98620
Return an AccountIdentityResponse when changing phone numbers
2022-01-26 14:44:53 -05:00
Jon Chambers
1f1d618dea
Rename AccountCreationResult to AccountIdentityResponse (since it's not just for account creation any more)
2022-01-26 14:44:53 -05:00
Jon Chambers
b18117ef89
Add tests for unidentified access when requesting profiles
2022-01-25 14:07:44 -05:00
Jon Chambers
44cb796574
Add more detail to "could not get acceptable languages" logging
2022-01-25 12:21:35 -05:00
Jon Chambers
ccf60ffc4b
Update to the latest version of the abusive message filter
2022-01-25 10:39:50 -05:00
Jon Chambers
f69db11f42
Drop some unused dynamic configuration properties
2022-01-21 18:46:37 -05:00
Chris Eager
96a680dcf0
Remove displaced account from directory when changing numbers
2022-01-21 18:46:11 -05:00
Jon Chambers
c8367c9b7a
Update to the latest version of the abusive message filter
2022-01-14 14:48:08 -05:00
Jon Chambers
c612663490
Handle null AccountAttributes when verifying linked devices
2022-01-14 14:47:46 -05:00
Jon Chambers
de5d967d18
Track metrics for dynamic config load failures
2022-01-14 14:47:12 -05:00
Jon Chambers
7fc63f7847
Allow callers to specify one or more dynamic config classes
2022-01-14 14:45:29 -05:00
Ehren Kret
49009cbcad
Apply GitHub stale application
2022-01-07 11:37:52 -06:00
Chris Eager
b5fbeffb86
Remove obsolete deployment files
2022-01-06 12:52:37 -08:00
Jordan Rose
146655e997
Add a "sameAvatar" flag to CreateProfileRequest
...
If sameAvatar is set (and "avatar" is also set), the avatar field for
a profile will be copied from the existing profile. This saves S3
churn and client bandwidth.
2022-01-04 13:57:41 -08:00
Chris Eager
87d66f04d8
Update to the latest abusive message filter
2022-01-03 15:16:29 -08:00
Chris Eager
bb27dd0c3b
Migrate from Object[] parameters to Stream<Arguments>
2022-01-03 15:10:02 -08:00
Chris Eager
f45a1c232f
Exclude junit from transitive dependencies
2022-01-03 15:10:02 -08:00
Chris Eager
d7a3c12bbe
Drop unused DynamoDB class rules
2022-01-03 15:10:02 -08:00
Chris Eager
a1e84f5a88
Migrate service tests to JUnit 5
2022-01-03 15:10:02 -08:00
Chris Eager
b758737907
Migrate remaining JUnit 4 Redis cluster tests to RedisClusterExtension
...
* Increase redis cluster initialization wait to 10 seconds
* Move to JUnit 5 `Assumptions`
2022-01-03 14:59:39 -08:00
Chris Eager
c488c14d25
Migrate gcm-sender-async tests to JUnit 5
2021-12-21 09:39:02 -08:00
Chris Eager
5e0cca0702
Migrate redis-dispatch to JUnit 5
2021-12-21 09:39:02 -08:00
Chris Eager
8559e46e4a
Use JUnit 5 by default for all sub projects
2021-12-21 09:39:02 -08:00
Chris Eager
4bc00e00e3
Update to the latest abusive message filter
2021-12-20 11:33:04 -08:00
Chris Eager
3e777df86c
Timeout sendNextMessagePage after 5 minutes
2021-12-20 11:31:11 -08:00
Chris Eager
278b4e810d
Add (failing) test for send message timeouts
2021-12-20 11:31:11 -08:00
Chris Eager
346c7cd743
Remove null-check of destination UUID
2021-12-20 11:31:11 -08:00
Ehren Kret
867bf97d8f
Require any transitive dependencies on log4j to use 2.17.0
2021-12-19 07:21:00 -06:00
Jon Chambers
8a67949168
Trivial typo fix
2021-12-16 12:44:58 -05:00
Jon Chambers
5baa51d547
Migrate challenge-issuing configuration into the abusive message filter module
2021-12-16 12:22:19 -05:00
Jon Chambers
616db337e1
Remove an old rate limiting feature flag
2021-12-16 12:22:19 -05:00
Jon Chambers
3895871462
Repair missing PNIs in JSON blobs on account load
2021-12-16 11:17:51 -05:00
Jon Chambers
a87b84fbe2
Return an empty response if somebody requests a profile key credential with a non-existent version
2021-12-16 10:30:55 -05:00
Chris Eager
b2f0ace9db
Update dropwizard to 2.0.26
2021-12-15 16:34:52 -08:00
Jon Chambers
20c95e2606
Register ApplicationShutdownMonitor last
...
This will make it start last and shut down first, which is pretty much what we want for shutdown state monitoring
2021-12-15 19:27:23 -05:00
Jon Chambers
22dccaeddb
Count cases where we can find a given account, but not the given profile version
2021-12-15 15:53:47 -05:00
Jon Chambers
e611a70ba4
Remove usernames from profile responses
2021-12-15 15:53:47 -05:00
Jon Chambers
66845d7080
Refactor: separate the various types of profile responses
2021-12-15 15:53:47 -05:00
Jon Chambers
4ea7278c6f
Remove unversioned profile properties from Account entities
2021-12-15 15:53:47 -05:00
Jon Chambers
2b2e26f14b
Remove deprecated, unversioned profile setters
2021-12-15 15:53:47 -05:00
Jon Chambers
b496ef8d6f
Fix an issue where the deleted accounts lock client was trying to talk to the deleted accounts table
2021-12-15 13:16:32 -05:00
Jon Chambers
7f5e83141d
Consolidate DynamoDB clients/configuration
2021-12-15 12:43:57 -05:00
Jon Chambers
2d1ca98605
Consolidate DynamoDB clients/configuration
2021-12-15 12:42:41 -05:00
Jon Chambers
eaa4c318e3
Add usernames to whoami and account creation responses
2021-12-15 11:47:10 -05:00
Jon Chambers
31373fd1ba
Add a command for assigning usernames to individual users
2021-12-15 11:46:33 -05:00
Ehren Kret
9086246947
Require any transitive dependencies on log4j to use 2.16.0
2021-12-15 01:16:10 -06:00
Ehren Kret
7855b70682
Require any transitive dependencies on log4j to use 2.15.0
2021-12-10 01:16:48 -06:00
Chris Eager
0ce87153e5
Remove second database for AbusiveHostRules
2021-12-08 16:03:02 -08:00
Chris Eager
dba1711e8d
Convert AbusiveHostRule to a record
2021-12-08 14:43:21 -08:00
Chris Eager
a70b057e1c
Add second (migration) database to AbusiveHostRules
2021-12-08 12:46:05 -08:00
Chris Eager
9a5ffea0ad
Move ossrh-snapshots to project aggregate pom
2021-12-07 15:14:47 -08:00
Chris Eager
96f4b771ea
Update wiremock to 2.32.0
2021-12-07 10:34:49 -08:00
Ehren Kret
3df143dd3d
Switch to zonky test embedded postgres and use postgres 11.13.0
2021-12-03 16:07:07 -05:00
Jon Chambers
d78d7c726e
Fix a UUID transposition when requesting profile key credentials
2021-12-03 16:06:26 -05:00
Jon Chambers
d0ad580c7d
Add (failing!) tests for getting a profile key credentials for somebody else
2021-12-03 16:06:26 -05:00
Ehren Kret
4a8a2a70b5
Return 400 instead of 500 when amount is too small
2021-12-03 12:24:16 -06:00
Jon Chambers
20a71b7df2
Add tests for generating profile key credentials
2021-12-03 12:16:13 -05:00
Jon Chambers
68412b3901
Allow the "get profile" endpoint to include a PNI credential
2021-12-03 12:16:13 -05:00
Jon Chambers
93a7c60a15
Update to zkgroup 0.9.0
2021-12-03 12:16:13 -05:00
Chris Eager
31e5058b15
Make temporary iOS envelope type adaptation a little wider
2021-12-03 12:06:31 -05:00
Jon Chambers
14cff958e9
Migrate challenge-issuing rate limiters to the abusive message filter
2021-12-03 11:52:58 -05:00
Jon Chambers
9628f147f1
Separate statically- and dynamically-configured rate limiters
2021-12-03 11:01:15 -05:00
Chris Eager
13e346d4eb
Distinguish local vs remote in ClientPresenceManager#disconnectPresence
2021-12-02 14:32:42 -08:00
Fedor Indutny
e507ce2f26
Include ACI and PNI in DeviceResponse
2021-12-02 17:21:05 -05:00
Jon Chambers
9c62622733
Handle cases where a message might be missing a destination UUID
2021-12-02 14:06:49 -05:00
Jon Chambers
62aa0cef39
Set destination UUIDs for receipts
2021-12-02 14:06:49 -05:00
Jon Chambers
401953313a
Remove all vestiges of the relational account database
2021-12-02 12:46:43 -05:00
Chris Eager
4d2403d619
Use assertTimeoutPreemptively instead of assertTimeout
2021-12-02 12:17:08 -05:00
Jon Chambers
c5f261305d
Store destination UUIDs when persisting messages to DynamoDB
2021-12-02 12:17:08 -05:00
Jon Chambers
394f58f6cc
Add a (failing!) check for destination UUIDs
2021-12-02 12:17:08 -05:00
Jon Chambers
674bf1b0e0
Drop a myserious empty test
2021-12-02 12:17:08 -05:00
Jon Chambers
606ddd8a9b
Populate destination UUID for messages delivered via websocket
2021-12-02 12:17:08 -05:00
Jon Chambers
e23a1fac50
Remove old Postgres-backed remote config machinery
2021-12-02 12:16:43 -05:00
Jon Chambers
342323a7e6
Use canonical usernames throughout AccountsManager
2021-12-02 12:02:29 -05:00
Jon Chambers
efb410444b
Introduce a username validator
2021-12-02 12:02:29 -05:00
Jon Chambers
17c9b4c5d3
Transition from Postgres-backed remote config store to Dynamo-backed store
2021-12-02 11:13:07 -05:00
Jon Chambers
706de8e2f1
Add a command to migrate remote configuration entries from Postgres to DynamoDB
2021-12-02 11:13:07 -05:00
Jon Chambers
23bc11f3b6
Introduce a DynamoDB-backed remote config store
2021-12-02 11:13:07 -05:00
Jon Chambers
4eb7dde1c8
Migrate RemoteConfigsTest to Junit 5
2021-12-02 11:13:07 -05:00
Jon Chambers
064861b930
Consolidate profiles store tests and discard ProfilesStore interface
2021-12-02 10:49:54 -05:00
Jon Chambers
afa910bbd7
Drop relational profiles store
2021-12-02 10:49:54 -05:00
Jon Chambers
6aceb24fd2
Drop profile migration tools
2021-12-02 10:49:54 -05:00
Jon Chambers
d94e86781f
Migrate username storage from a relational database to DynamoDB
2021-12-01 16:50:18 -05:00
Daniel Gospodinow
0d4a3b1ad4
Fix typo in .gitmodules
2021-12-01 13:26:32 -05:00
Jon Chambers
acfcb18f29
Allow overwriting of previously-delted profiles
2021-12-01 11:59:18 -05:00
Jon Chambers
f7ff8e3837
Add a (failing!) test for deleting, then resetting profiles
2021-12-01 11:59:18 -05:00
Jon Chambers
048e17c62b
Use a memoizing supplier instead of a looping thread to cache remote config entries
2021-11-30 16:35:42 -07:00
Jon Chambers
d89b4f7e95
Compare versioned profiles synchronously; log a subset of mismatches for further investigation
2021-11-30 16:35:29 -07:00
Chris Eager
795b226b90
Mark methods that update SignedPreKeys as @ChangesDeviceEnabledState
2021-11-30 10:40:12 -07:00
Jon Chambers
e485c380e0
Change the name of the CSV file argument to avoid upstream naming collisions
2021-11-30 11:31:12 -05:00
Jon Chambers
bb4f4bc441
Modify the "migrate profiles" command to accept a list of UUIDs/versions from a CSV file
2021-11-30 11:22:51 -05:00
Jon Chambers
65b49b2d9c
Use a "for each" strategy in profile migration methods
2021-11-24 16:54:30 -05:00
Jon Chambers
9e7010f185
Migrate profiles from a relational database to DynamoDB
2021-11-24 14:48:41 -05:00
Jon Chambers
3bb8e5bb00
Set a TTL for Account entries in the general cache
2021-11-24 14:47:36 -05:00
Jon Chambers
2a4d1da2ca
Delete accounts from Redis after they've been deleted from Dynamo
2021-11-24 13:47:53 -05:00
Jon Chambers
6b71b66bd2
Take no action if badge list is omitted entirely
2021-11-24 13:47:39 -05:00
Jon Chambers
ebf24fb125
Add a (failing!) test for clients omitting badges in profile update requests
2021-11-24 13:47:39 -05:00
Jon Chambers
46d64b949e
Don't read "soft-deleted" profiles
...
Nothing is actually "soft-deleting" profiles yet, and this
is a first step toward migrating profiles to a new data
store.
2021-11-24 12:02:07 -05:00
Jon Chambers
6919354520
Fix a counting bug with reported messages
2021-11-23 17:28:39 -05:00
Jon Chambers
a42fe9bfb0
Add crawler names to log messages
2021-11-23 16:22:09 -05:00
Jon Chambers
ee1f8b34ea
Add a command for reserving usernames
2021-11-23 16:21:03 -05:00
Jon Chambers
c910fa406d
Migrate reserved usernames from a relational database to DynamoDB
2021-11-23 16:21:03 -05:00
Jon Chambers
559205e33f
Log cases where accounts are missing or have inconsistent PNIs
2021-11-23 15:40:31 -05:00
Chris Eager
c0756e9c60
Attempt an orderly websocket close on displacement before a hard disconnect
2021-11-23 11:36:32 -07:00
Ehren Kret
bf1190696e
Add badge workaround for old Android builds
2021-11-23 09:58:06 -06:00
Jon Chambers
71dd0890de
Restore an accidentally-removed PNI consistency check
2021-11-23 10:53:40 -05:00
Jon Chambers
e5acdf1402
Don't update the PNI attribute during general account updates
2021-11-23 10:53:40 -05:00
Jon Chambers
0f08b6bb59
Drop "got successful captcha" messages from INFO to DEBUG
2021-11-22 17:06:34 -05:00
Jon Chambers
6198a7b69a
Remove spurious @JsonProperty annotations
2021-11-22 15:43:09 -05:00
Jon Chambers
067aee6664
Remove unused properties from OutgoingMessageEntity
2021-11-22 15:43:09 -05:00
Jon Chambers
138a2ebbd0
Drop transactional logic from phone number identifier migration
2021-11-22 15:32:24 -05:00
Jon Chambers
296f6a7a88
Make phone number identifiers non-optional
2021-11-22 15:32:24 -05:00
Jon Chambers
069ffa9921
Drop PNI migration tools
2021-11-22 15:32:24 -05:00
Jon Chambers
f42fd8a840
Retire unused diagnostic metrics
2021-11-22 15:31:16 -05:00
Jon Chambers
10f27af6f2
Retire old unsealed-sender meters
2021-11-22 15:31:16 -05:00
Jon Chambers
0bbd34d060
Use text blocks where possible
2021-11-22 15:30:31 -05:00
Jon Chambers
282daeb0dc
Add a command to assign PNIs to accounts that don't already have one
2021-11-22 15:03:19 -05:00
Jon Chambers
d33b313c11
Break down legacy "get profile" requests by platform
2021-11-19 12:37:39 -05:00
Ehren Kret
fb7316c9ae
Return subscription status string in GET
2021-11-19 11:36:01 -06:00
Ehren Kret
279b0a51d9
Use latest invoice on subscription to generate receipts
2021-11-19 11:25:38 -06:00
Ehren Kret
6547d5ebf3
More consistent naming of receipt credentials endpoints
2021-11-19 10:14:00 -06:00
Ehren Kret
4f1ef9a039
Add additional http status codes to /v1/subscription/boost/receipt_credentials
2021-11-19 10:11:33 -06:00
Ehren Kret
4c80714d19
Update sample.yml
2021-11-18 10:49:30 -06:00
Jon Chambers
077ead71a5
Rename legacy profile methods to separate them in metrics
2021-11-18 11:31:15 -05:00
Ehren Kret
caba110266
Revert "Revert "Remove transparent SVG for badging""
...
This reverts commit 0fdb23c1e9 .
2021-11-18 10:23:09 -06:00
Ehren Kret
0fdb23c1e9
Revert "Remove transparent SVG for badging"
...
This reverts commit 13a84f0c72 .
2021-11-18 10:09:34 -06:00
Ehren Kret
13a84f0c72
Remove transparent SVG for badging
2021-11-18 10:04:42 -06:00
Jon Chambers
669bd58e33
Drop the unused Key utility class
2021-11-17 10:57:29 -05:00
Chris Eager
6e82740a9b
Update sample.yml
2021-11-16 17:25:45 -07:00
Ehren Kret
7ea43a728d
Set boost description from configuration
2021-11-16 17:21:57 -06:00
Chris Eager
71b38356b1
Update to Mockito 4.0.0
2021-11-16 15:56:35 -07:00
Chris Eager
5a99708f56
Update some deprecated usages
2021-11-16 15:56:13 -07:00
Chris Eager
24191d9599
Update Dropwizard to 2.0.25
2021-11-16 15:56:00 -07:00
Chris Eager
482ea8eb40
Update minimum required maven to 3.8.3
2021-11-16 15:55:52 -07:00
Jon Chambers
1dae05651f
Add PNIs to account creation and whoami responses
2021-11-16 15:08:10 -05:00
Jon Chambers
5164e92538
Shorten metric names
2021-11-16 15:08:10 -05:00
Jon Chambers
f89a20dbc7
Allow callers to set/retrieve keys by ACI or PNI
2021-11-16 15:08:10 -05:00
Jon Chambers
3a4c5a2bfb
Store and retrieve one-time pre-keys by UUID
2021-11-16 15:08:10 -05:00
Jon Chambers
5e1334e8de
s/KeysDynamoDb/Keys/
2021-11-16 15:08:10 -05:00
Jon Chambers
fa6e3d3690
Allow clients to request PNI-based group credentials
2021-11-16 15:08:10 -05:00
Jon Chambers
9383e7716b
Resolve CertificateControllerTest warnings and recommendations
2021-11-16 15:08:10 -05:00
Jon Chambers
cfe34fbf0f
Allow unsealed-sender messages to be addressed by PNI
2021-11-16 15:08:10 -05:00
Jon Chambers
9fe110625c
Add a destinationUuid field to envelopes
2021-11-16 15:08:10 -05:00
Jon Chambers
975f753c2b
Add an endpoint for testing whether an account with a given ACI or PNI exists
2021-11-16 15:08:10 -05:00
Jon Chambers
e6237480f8
Require that unidentified access keys be exactly 16 bytes
2021-11-16 15:08:10 -05:00
Chris Eager
966d4e29d4
Update sample.yml config to pass mvn verify
2021-11-16 11:43:07 -07:00
Chris Eager
26f876a2cb
Check service configurations in verify phase
2021-11-16 11:43:07 -07:00
Jon Chambers
ab9e6ac48a
Revert "Replace zkgroup with libsignal-client"
...
This reverts commit 73ea6e4251 .
2021-11-16 11:35:10 -05:00
Jon Chambers
c1d6c04ab2
Revert "Replace curve25519-java with libsignal-client"
...
This reverts commit 0011b8925b .
2021-11-16 11:35:10 -05:00
Jon Chambers
888cec3d56
Introduce a filter for correcting numeric "online" flags
2021-11-16 10:15:14 -05:00
Jon Chambers
1461bcc2c2
Correct envelope types for certain iOS builds
2021-11-16 10:15:14 -05:00
Jon Chambers
11f1cf80bd
Move MessageControllerTest out of the tests sub-package to expose package-private elements from the class under test
2021-11-16 10:15:14 -05:00
Jordan Rose
c675cc8b26
Test the response code for invalid serialized zkgroup objects
...
Test by Jon, making sure this is consistent even without up-front size
checking.
2021-11-16 09:52:38 -05:00
Jordan Rose
0011b8925b
Replace curve25519-java with libsignal-client
...
These APIs stemmed from a common source long ago, so there's not much
to change!
2021-11-16 09:52:38 -05:00
Jordan Rose
73ea6e4251
Replace zkgroup with libsignal-client
2021-11-16 09:52:38 -05:00
Jon Chambers
e4441dddbb
Consolidate Redis client resources
2021-11-16 09:52:12 -05:00
Chris Eager
8d1d56f694
Update to Java 17
2021-11-15 16:42:43 -07:00
Jon Chambers
2015ba77ca
Switch to a disallowed prefix model instead of a disallowed country code model
2021-11-15 15:44:55 -05:00
Chris Eager
7033a0f68f
Set checkStaleness to true for protoc
2021-11-12 13:34:15 -07:00
Jon Chambers
6ada76da7f
Parallelize assignment of phone number identifiers
2021-11-12 11:03:46 -05:00
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
Ehren Kret
5c4855cca6
Remove trailing space
2021-11-10 10:11:49 -06:00
Ehren Kret
2e1e380418
Also update description text of boost badge
2021-11-10 10:10:53 -06:00
Ehren Kret
d07f0b4f71
Update badge description text
2021-11-10 09:51:51 -06: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
a1b925d1e0
Reduce visiblity on one constructor
2021-11-08 14:30:52 -07:00
Chris Eager
31c0c3275f
Use the latest and in config, @JsonCreator
2021-11-08 14:30:52 -07: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
1053a47e42
Add an exception mapper for CompletionExceptions
2021-11-04 19:12:31 -05:00
Ehren Kret
99b1f48e0e
Copy badges from existing account on re-reg
2021-11-04 18:00:47 -05:00
Jon Chambers
c21eb6aa50
Update to the latest abusive message filter
2021-11-01 15:27:14 -04:00
Jon Chambers
6dddf54222
Consolidate rate-limit counters
2021-11-01 14:33:05 -04:00
Jon Chambers
9e3eb2319e
Update to the latest abusive message filter
2021-11-01 13:12:23 -04:00
Jon Chambers
1d8dcda815
Update to the latest abusive message filter
2021-11-01 12:45:50 -04:00
Jon Chambers
ee52a84262
Update to the latest abusive message filter
2021-11-01 12:19:21 -04:00
Jon Chambers
eb51e81faa
Configuration-only change
2021-11-01 11:41:26 -04:00
Jon Chambers
d41ef1df18
Configuration-only change
2021-11-01 11:27:02 -04:00
Jon Chambers
66d47aff2c
Update deployment configuration
2021-11-01 11:10:19 -04:00
Jon Chambers
c931103712
Remove unused utility classes
2021-11-01 10:51:47 -04:00
Jon Chambers
ad1aeea74b
Add an abusive message filter interface and submodule
2021-11-01 10:51:47 -04:00
Ehren Kret
ae7f8af03e
Mark boost and subscription configuration as not null
2021-10-28 16:12:23 -07: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
f5a539e128
Add subscriptions resource bundle
2021-10-28 14:15:20 -07:00
Ehren Kret
24480b2090
Add endpoint to fetch information on boost badges
2021-10-26 14:05:59 -07:00
Ehren Kret
a124b3abe9
Fix encoding of boost amounts
2021-10-26 08:08:09 -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
d27ec6fe8d
Create boost create endpoint
2021-10-25 12:58:32 -07:00
Jon Chambers
8d34f3447b
Drop an unused registration meter
2021-10-25 14:52:21 -04: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
11598e855f
Count non-normalized or impossible numbers
2021-10-22 14:01:54 -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
Jon Chambers
598599cd14
Use a default reportMessage configuration if not specified
2021-10-21 15:34:57 -05: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
Jon Chambers
40f7e6e994
Remove unused imports
2021-10-19 11:47:54 -04:00
Ehren Kret
ee9aa9ce12
Round up by days on receipt expiration
2021-10-18 12:11:27 -05:00
Ehren Kret
08304bf375
Validate GetReceiptCredentialsRequest
2021-10-18 11:57:18 -05:00
Ehren Kret
8b8c6237be
Use last subscription created at time as a subscription generation number
2021-10-14 12:06:19 -05: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
Ehren Kret
75c5032cd3
Add method to set default payment method
2021-10-14 10:37:12 -05:00
Jon Chambers
f84e7aebd0
Count numbers that can't be normalized because another account has the normalized form of the number
2021-10-14 11:10:12 -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
e07597eba7
Add initial text for donation badges
2021-10-13 23:08:02 -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
c89cfa4927
Move property setting above servlet construction
2021-10-13 13:17:07 -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
Ehren Kret
75c22038eb
Create empty Badges_en.properties file
2021-10-11 22:27:30 -05:00
Jon Chambers
3c1705994d
Count accounts with non-normalized phone numbers
2021-10-11 10:13:08 -04:00
Jon Chambers
439d2f5df8
Update to libphonenumber 8.12.33
2021-10-05 15:19:59 -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
f37c76dab1
Drop LuaScript
2021-09-29 16:08:17 -04:00
Jon Chambers
863969c77c
Resolve ClusterLuaScript warnings/suggestions
2021-09-29 16:08:17 -04:00
Jon Chambers
2383aaaa3d
Update ClusterLuaScript formatting
2021-09-29 16:08:17 -04:00
Jon Chambers
715d1157ad
Reject Redis commands when disconnected
2021-09-29 16:07:26 -04:00
Jon Chambers
4aaae3f445
Use a single configuration URI for Redis clusters
2021-09-29 14:46:09 -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
c6bb649adb
Simplify map-building logic
2021-09-29 14:18:35 -04:00
Jon Chambers
e333cbd94d
Close websockets on account deletion
2021-09-29 14:11:16 -04:00
Ehren Kret
cc9a825279
Remove checked in generated code
2021-09-29 13:10:27 -05:00
Chris Eager
5189cbe5c7
apply editorconfig formatting
2021-09-29 10:31:39 -07:00
Chris Eager
d1d6e5c652
Filter stale ephemeral messages from cache
2021-09-29 10:31:39 -07:00
Chris Eager
3e5087e60b
Remove obsolete ephemeral queue handling
2021-09-29 10:31:39 -07:00
Chris Eager
93c3cea912
Clean up old "ephemeral" metrics
2021-09-29 10:31:39 -07:00
Chris Eager
e824b861d4
Drop accounts table
2021-09-29 10:31:20 -07:00
Chris Eager
e8dd1e0bf2
Fixup formatting
2021-09-29 10:31:20 -07:00
Ehren Kret
533afa4c6e
Upgrade to zkgroup 0.8.1
2021-09-28 09:28:28 -05: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
Jon Chambers
a5575902de
Pause if we bump into an exception while trying to persist messages
2021-09-27 13:38:17 -04:00
Ehren Kret
5b9bce59e1
Upgrade to zkgroup 0.8.0
2021-09-24 15:56:28 -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
02a296e500
Use a MIME Base64 decoder for provisioning messages
2021-09-22 16:30:44 -04: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
75661fa800
Add JavaTimeModule
2021-09-20 16:42:38 -05:00
Ehren Kret
df5498e1c0
Add test for self badge fetching
2021-09-20 16:42:38 -05:00
Ehren Kret
c0af911197
Show invisible badges to query for self
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
5c1cde1b28
Add visibility modifying helper method in AccountBadge
2021-09-20 16:41:09 -05:00
Ehren Kret
3172b571c6
Move "testing" string into BadgeConfiguration
2021-09-20 16:41:09 -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
3f3052c23c
Remove isZkEnabled
2021-09-20 16:41:09 -05:00
Ehren Kret
8f17f45339
Reorder creating of testing badges
...
Need their expiration time to always get refreshed on set so reorder
how they're created to ensure that's the case.
2021-09-20 16:41:09 -05:00
Ehren Kret
009e2eeb97
Enable editing of badges on profiles
2021-09-20 16:41:09 -05:00
Ehren Kret
c70fa48835
Fix indentation of ProfileController#setProfile
2021-09-20 16:41:09 -05:00
Ehren Kret
bd5f5c407b
Add method to merge badge ids list into a profile
2021-09-20 16:41:09 -05:00
Ehren Kret
2bc573a53d
Add additional test badges for translation
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
ef0900f3ac
Add .tx/ to .gitignore
2021-09-17 13:43:52 -04:00
Fedor Indutny
383d744bd8
Log the error message when retrying queue send
2021-09-16 18:03:42 -04:00
Jon Chambers
c2ba8ab562
Identify receipt destinations by UUID instead of e164
2021-09-16 10:47:03 -04:00
Chris Eager
cd49ea43c0
Use queryPaginator when loading messages
2021-09-16 10:46:37 -04:00
Chris Eager
53aa45a2bb
Use queryPaginator when deleting messages
2021-09-16 10:46:37 -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
Fedor Indutnyy
41735ed40e
Introduce queueDrainRetry counter metric
2021-09-16 10:30:19 -04:00
Ehren Kret
2d11a433c9
Wrap all calls to getAcceptableLanguages
...
ContainerRequestContext#getAcceptableLanguages throws a
ProcessingException if the header has invalid values in it. Rather than
error out of the request entirely with the exception handler for that
exception, we just treat it as though no Accept-Languages header was
specified.
2021-09-16 09:28:21 -05:00
Ehren Kret
e79ab2521f
Rename field in ConfiguredProfileBadgeConverter
2021-09-16 09:28:21 -05: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
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
Chris Eager
6c6e6a4975
Switch to actions/setup-java’s built-in caching
2021-09-13 09:40:44 -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
Dambar Pun
a96865d0f5
Update RedisInputStream.java
...
Fix code style
2021-09-10 14:24:52 -05:00
Blake Irvin
12e11609a9
pin 3rd-party Actions dep by full SHA
...
This change follows GitHub's security-hardening guidance. By pinning to a full SHA, we reduce our exposure to supply-chain attacks where a malicious party could compromise the 3rd-party Actions repo, commit malicious code, and then mutate an existing git tag to redirect to a SHA containing the malicious commit.
See https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions for more.
2021-09-10 14:22:11 -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
Ehren Kret
9fd6358518
Add missing section to end of LICENSE file
2021-08-26 12:55:56 -05: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
bd820e6d2e
Migrate websocket-resources test to JUnit 5 and .editorconfig
2021-08-19 14:09:57 -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
Chris Eager
095fc8140e
Increase from default binary message size
2021-08-06 12:56:34 -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
23f9199439
Fix dependency resolution error for commons-logging
2021-08-02 13:14:44 -05: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
Sophiah Ho
1fd1207bf6
Prevent unit tests from failing for machines with a non-US default Locale
2021-07-27 13:01:48 -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
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
Jon Chambers
b757d4b334
Measure how many "send message" requests are still using e164-based addressing.
2021-07-16 16:52:58 -04:00
Chris Eager
bd03d910fe
Set authenticated device after updating last seen
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
d5b0d99a54
Remove unused method
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
9558944e22
Add needsReconciliationIndexName to sample.yml
2021-07-02 15:05:11 -05:00
Chris Eager
0f6c866c8d
Update imports
2021-07-02 15:05:11 -05:00
Chris Eager
bac78e9291
Switch DeletedAccountsTableCrawler metrics to a basic Metrics#summary
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
a85afe827d
Avoid NPE by using scheduledFuture as the Gauge state object
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
Chris Eager
6fa9dcd954
Refactor to use shared recurringJobExecutor
2021-07-02 15:05:11 -05:00
Chris Eager
819d59cd79
Update reconciliation crawler to use secondary index
2021-07-02 15:05:11 -05:00
Chris Eager
2f88f0eedb
Refactor to use single threaded scheduled executor
2021-07-02 15:05:11 -05:00
Chris Eager
74ff491671
Rename ManagedPeriodicWorkCache to ManagedPeriodicWorkLock
2021-07-02 15:05:11 -05:00
Chris Eager
eac48a6617
Don’t delete accounts after reconciling
2021-07-02 15:05:11 -05:00
Chris Eager
19617c14f8
Improved logging in ManagedPeriodcWork
2021-07-02 15:05:11 -05:00
Chris Eager
fc7291c3e8
Migrate DeletedAccountsTableCrawler to ManagedPeriodicWork
2021-07-02 15:05:11 -05:00
Chris Eager
88db808298
Add abstract ManagedPeriodicWork
2021-07-02 15:05:11 -05:00
Chris Eager
5193abdab3
Add DeletedAccountsTableCrawler
2021-07-02 15:05:11 -05:00
Chris Eager
a315c9be92
Add DeletedAccounts DynamoDB table
2021-07-02 15:05:11 -05:00
Chris Eager
fc1541591a
Add AbstractDynamoDbStore#scan
2021-07-02 15:05:11 -05:00
Chris Eager
ae97c4db9f
Use editorconfig in AbstractDynamoDbStore
2021-07-02 15:05:11 -05:00
Chris Eager
26bc5973b5
Clear message queue before and after removing a device
2021-07-02 10:48:42 -05:00
Chris Eager
e52b8c8423
Implement DatadogConfig in DatadogConfiguration
2021-07-02 10:48:05 -05:00
Jon Chambers
7395489bac
Add tests for pending account/device managers.
2021-07-02 11:30:13 -04:00
Jon Chambers
b384ed7f5c
Add a counter for requests for delivery certificates with/without e164s.
2021-07-01 10:59:10 -04:00
Jon Chambers
e3afcae7d3
Gather data to verify safety of retiring legacy reglock system.
2021-07-01 10:58:47 -04:00
Jon Chambers
9faeed7b20
Count E164 authentications versus UUID authentications.
2021-07-01 10:51:34 -04:00
Jon Chambers
49adcca80e
Use Optional.isEmpty().
2021-07-01 10:51:34 -04:00
Jon Chambers
49c43a6816
Simplify distribution summary for "days since last seen."
2021-07-01 10:51:34 -04:00
Jon Chambers
84f85ae098
Collapse various account meters into a single, multi-dimensional counter.
2021-07-01 10:51:34 -04:00
Jon Chambers
3d581941ab
Add plumbing and configuration to migrate pending accounts/devices to DynamoDB.
2021-07-01 10:50:52 -04:00
Jon Chambers
d2d39baede
Add a DynamoDB-backed stored verification code store.
2021-07-01 10:50:52 -04:00
Jon Chambers
111f5ba024
Use java.time classes for stored verification code expiration; add tests.
2021-07-01 10:50:52 -04:00
Jon Chambers
ce3fb7fa99
Extract a common base class for verification code store tests.
2021-07-01 10:50:52 -04:00
Jon Chambers
fc421d3f21
Introduce a common interface for verification code stores.
2021-07-01 10:50:52 -04:00
Jon Chambers
71bea759c6
Consolidate StoredVerificationCode constructors.
2021-07-01 10:50:52 -04:00
Jon Chambers
bf1dd791a5
Drop caching for pending accounts/devices.
2021-07-01 10:50:52 -04:00
Chris Eager
4c99577c08
Add configuration for Datadog batch size
2021-06-30 16:44:25 -05:00
Graeme Connell
5d5c63e6d4
Update profile controller to S3 AWSv2.
2021-06-30 13:09:18 -06:00
Graeme Connell
42ff3f8432
Switch SQS to Amazon SDKv2.
2021-06-30 12:46:12 -06:00
Chris Eager
be6ef76486
Update DynamoDBLocal to 1.16.0
2021-06-23 13:50:58 -05:00
Chris Eager
bc297e6d34
Update wiremock-jre8 to 2.28.1
2021-06-23 13:50:58 -05:00
Chris Eager
3a526dcbd7
Update mockito to 3.11.1
2021-06-23 13:50:58 -05:00
Ehren Kret
7883352b74
Match random capability generation in test
2021-06-21 17:32:31 -05:00
Ehren Kret
982d122d18
Match random capability generation in test
2021-06-21 17:32:31 -05:00
Ehren Kret
d8d94407c6
Create announcement group capability
2021-06-21 17:32:31 -05:00
Chris Eager
28cfc54170
Update FunctionCounter builder to use non-null object and method
2021-06-11 11:27:45 -05:00
Jon Chambers
2ee7279743
Pause nstat counters.
2021-06-11 12:26:56 -04:00
Jon Chambers
eb1b073385
Add a hostname-aware reporter factory.
2021-06-10 14:23:05 -04:00
Jon Chambers
c634185b6f
Standardize a utility method for getting local host names.
2021-06-10 14:23:05 -04:00
Ehren Kret
827a3af419
Code cleanup
2021-06-09 20:44:18 -05:00
Jon Chambers
2c33d22a30
Stop recording specific client versions in metrics until we know we need them again.
2021-06-08 12:25:31 -04:00
Chris Eager
b41ed9d810
Update sample.yml config
2021-06-07 17:21:36 -04:00
Jon Chambers
58d3a12eff
Set hostname to lowercase to avoid strange case mismatch issues; log hostname failures.
2021-06-07 17:17:46 -04:00
Jon Chambers
88c4b2be97
Correct a misunderstanding about the metrics host tag.
2021-06-07 16:29:44 -04:00
Jon Chambers
6cbd57f19f
Include environment/service/version as common metric tags.
2021-06-04 18:17:09 -04:00
Jon Chambers
5522376584
Include a host tag with metrics.
2021-06-04 18:17:09 -04:00
Jon Chambers
5089c37d28
Drop a pair of unused commands.
2021-06-04 12:35:06 -04:00
Jon Chambers
1ccf24e68c
Add a command to check dynamic config files.
2021-06-04 12:34:48 -04:00
Jon Chambers
411f7298f2
Enforce validation constraints for dynamic configuration objects.
2021-06-04 12:34:48 -04:00
Jon Chambers
5b0214c6f2
Make pre-key take operations more null-safe
2021-06-04 11:18:59 -04:00
Jon Chambers
735573e61b
Make reporting intervals configurable.
2021-06-03 17:50:41 -04:00
Graeme Connell
c545cff1b3
Switch DynamoDB to AWSv2.
...
Switch from using com.amazonaws.services.dynamodbv2 to using
software.amazon.awssdk.services.dynamodb for all current DynamoDB uses.
2021-06-03 13:37:10 -06:00
Jon Chambers
cbd9681e3e
Configure histograms and exclude high-cardinality metrics.
2021-06-03 14:12:02 -04:00
Jon Chambers
ca876e40ca
Add a second metric aggregator.
2021-06-03 14:12:02 -04:00
Jon Chambers
76f5a71727
Include server version in logging tags
2021-06-03 11:24:25 -04:00
Jon Chambers
117de2382d
Verify that API consumers can skip/clear VOIP tokens.
2021-06-02 16:50:49 -05:00
Jon Chambers
25e7036451
Send a payload with mutable content for non-VOIP topics.
2021-06-02 16:50:49 -05:00
Jon Chambers
3131bd3dd9
Allow iOS callers to specify whether they're providing a VOIP token for preauth.
2021-06-02 16:50:49 -05:00
Chris Eager
1cf9397bbd
Bump dropwizard to 2.0.22
2021-06-02 12:30:30 -05:00
brock-signal
c97be15e79
Fix NPE when a null message comes in from a client
2021-06-01 15:00:41 -06:00
Ehren Kret
164fc40990
Rename receipt type and add new client-to-client plaintext type for decryption error receipts
2021-05-28 11:33:44 -05:00
Ehren Kret
6456af6284
Upgrade to latest protobuf
...
This upgrades to protobuf 3.17 and uses maven to automatically rebuild
the generated code instead of using prefabricated checked in Java
files.
2021-05-28 11:33:44 -05:00
Chris Eager
81212cc13a
Add jgitver configuration to ignore branch names
2021-05-27 14:35:28 -05:00
Ehren Kret
6f0750790c
Add metric to count number of legacy messages sent
2021-05-27 11:13:42 -05:00
Chris Eager
3e61b5c49d
Add call chain and mismatch check for push token timestamp
2021-05-27 11:10:58 -05:00
Ehren Kret
50c4df4f45
Add deploy phase bindings
2021-05-26 19:42:45 -05:00
Ehren Kret
1eb946f5fe
Add jgitver extension
2021-05-26 19:42:45 -05:00
Ehren Kret
7bd402b48d
Build refactor in preparations for bringing in jgitver
2021-05-26 19:42:42 -05:00
Chris Eager
90444d5b91
Bump version to 5.95
2021-05-26 11:11:00 -05:00
Chris Eager
5ee093f87c
Add mismatch for signed pre-key; remove mismatch for migration version
2021-05-26 10:58:23 -05:00
Chris Eager
623743286c
Bump version to 5.94
2021-05-25 11:00:44 -05:00
Chris Eager
67067f1d2d
Remove last-seen and registration lock comparisons
2021-05-25 10:47:57 -05:00
Ehren Kret
07f9bb112e
Use separate object for multi recipient response
...
`needsSync` was being sent back from the server in the JSON response
which is an unnecessary and constantly false field in multi-recipient
message sending endpoint as it's always sealed sender.
2021-05-25 10:30:39 -05:00
Ehren Kret
417d48c452
Block downgrading sender key support
...
Disallow linking an additional device to an account that has already
upgraded to having sender key support where the linked device does not
have sender key support. This should prompt the person attempting to
link the older application to upgrade in order to complete the linking
process.
2021-05-25 10:30:26 -05:00
Chris Eager
358412c78a
Bump version to 5.93
2021-05-24 12:15:46 -05:00
Chris Eager
215621a9b0
Remove temporary adaptation for nested IncomingMessage.online
2021-05-24 11:36:15 -05:00
Graeme Connell
c3f53c4dd9
Fix infinite loop in TorExitNodeManager.
2021-05-21 14:50:15 -06:00
Graeme Connell
01514f83a0
Fix up AWS2 config issues introduced in rebase.
2021-05-21 14:50:15 -06:00
Graeme Connell
c10b64c367
Simplify S3ObjectMonitor API, try-with-resource.
2021-05-21 14:50:15 -06:00
Graeme Connell
722055c8b5
Switch S3ObjectMonitor to AWSv2 SDK.
2021-05-21 14:50:15 -06:00
Graeme Connell
680e501f83
Add dependency on AWS 2.x s3.
2021-05-21 14:50:15 -06:00
Ehren Kret
f13f7a5ff4
Bump version to 5.92
2021-05-20 15:13:14 -05:00
Ehren Kret
5290656c3b
Fix typo
2021-05-20 15:11:44 -05:00
Chris Eager
93fbb87741
Bump version to 5.91
2021-05-20 14:13:13 -05:00
Chris Eager
ce76c5c117
Move dropwizard-dependencies from parent to dependency management
2021-05-20 14:12:37 -05:00
Chris Eager
e663e1b0a6
Move some duplicated versions to BOMs and properties
2021-05-20 14:12:37 -05:00
Chris Eager
20cdd09171
Reformat indentation
2021-05-20 14:12:37 -05:00
Chris Eager
f98dd80941
Reorganize and expand dependency declarations to fix mvn verify failures
2021-05-20 14:12:37 -05:00
Chris Eager
f84736bd32
Add mvn verify to test workflow
2021-05-20 14:12:37 -05:00
Ehren Kret
9995f271c8
Bump version to 5.90
2021-05-20 10:15:49 -05:00
Ehren Kret
cf59d849b0
@Min does not apply to byte[] use @Size instead
2021-05-20 10:15:49 -05:00
Ehren Kret
ee3b91e4fb
Register MultiRecipientMessageProvider with the websocket interface too
2021-05-20 10:15:49 -05:00
Jon Chambers
77f134ddca
Bump version to 5.89
2021-05-18 19:00:47 -04:00
Chris Eager
8913192b7e
Upgrade to actions/setup-java@v2
2021-05-18 17:34:36 -05:00
Jon Chambers
94ac3f6cc8
Return Optional.empty() for present-but-not-routed IPs.
2021-05-18 17:43:30 -04:00
Jon Chambers
b89de860d3
Add support for getting country codes for ASNs.
2021-05-18 17:43:30 -04:00
Jon Chambers
f8c623074b
Introduce an ASN-to-IP manager.
2021-05-18 17:43:30 -04:00
Jon Chambers
1160af9522
Add a utility class for associating IP addresses with ASNs.
2021-05-18 17:43:30 -04:00
Jon Chambers
3056ea8cbc
More clearly separate concerns for explicitly getting monitored objects.
2021-05-18 17:00:30 -04:00
Jon Chambers
28e3b23e8c
Add an "excessively large object" safeguard.
2021-05-18 17:00:30 -04:00
Jon Chambers
fbaf4a09e2
Use the S3 object monitor to retrieve Tor exit node lists.
2021-05-18 17:00:30 -04:00
Jon Chambers
cfa8cbedc1
Introduce an S3 object monitor.
2021-05-18 17:00:30 -04:00
Ehren Kret
be4c46e674
Set tab width to 8
2021-05-18 15:35:08 -05:00
Chris Eager
bacf524ae6
Add optional logging for mismatches
2021-05-18 14:39:30 -05:00
Graeme Connell
aa65d34c36
Set min/max threads for backup/storage service.
...
From https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html :
When a new task is submitted in method execute(java.lang.Runnable),
and fewer than corePoolSize threads are running, a new thread is
created to handle the request, even if other worker threads are idle.
If there are more than corePoolSize but less than maximumPoolSize
threads running, a new thread will be created only if the queue is full.
Since we utilize an unbounded queue, we'll never hit the condition that
the queue is full, so the pool will never grow past corePoolSize. Given
that, explicitly state that our max is 1 thread. This should be a noop
operationally.
Thanks to https://github.com/dropwizard/dropwizard/pull/834 for building
in warnings to help us find this.
2021-05-18 13:34:59 -06:00
Ehren Kret
0cd3640f13
Add more tests
2021-05-18 13:09:40 -05:00
Ehren Kret
c595d9415c
Change from quadratic scan to use more memory instead
2021-05-18 13:09:40 -05:00
Ehren Kret
1a604d8c79
Add unit test to readU16
2021-05-18 13:09:40 -05:00
Ehren Kret
f76e6705c0
Add handling of registration id in multi recipient send payload
2021-05-18 13:09:40 -05:00
Chris Eager
10cd60738a
Bump version to 5.88
2021-05-17 17:28:04 -05:00
Chris Eager
89470ff536
Add class prefix to counter
2021-05-17 17:17:48 -05:00
Chris Eager
79b8202452
Bump version to 5.87
2021-05-17 15:48:00 -05:00
Chris Eager
d252e579f4
Get more detailzed serialization mismatches
2021-05-17 15:42:54 -05:00
Chris Eager
30b2c2b5ad
Fix observed mismatches by swapping in original UUID
2021-05-17 15:42:17 -05:00
Chris Eager
282f39141e
Add additional tests for AccountStore#create
2021-05-17 15:42:17 -05:00
Chris Eager
85e4de6933
Switch platform value from null to "unrecognized" in metrics
2021-05-17 15:41:11 -05:00
Jon Chambers
0b993098a8
Explicitly declare commons-lang3 as a dependency.
2021-05-17 15:52:35 -04:00
Chris Eager
1880773fb9
Bump version to 5.86
2021-05-14 17:10:39 -05:00
Chris Eager
00c9023e74
Include server GUID when sending messages over websocket
2021-05-14 17:10:15 -05:00
Chris Eager
d59eabd9d7
Bump veresion to 5.85
2021-05-14 16:08:56 -05:00
Chris Eager
2a3ea13c9e
Classify DynamoDB mismatches in AccountsManager
2021-05-14 15:57:47 -05:00
Ehren Kret
6906336dfb
Include the uuid with the list of mismatched devices
2021-05-14 14:46:56 -05:00
Chris Eager
514b94a5cb
Bump version to 5.84
2021-05-13 18:33:31 -05:00
Chris Eager
df01be2dca
Don’t throw exceptions from ReportMessageManager#store()
2021-05-13 18:33:02 -05:00
Jon Chambers
10c6f885fd
Bump version to 5.83
2021-05-13 18:23:35 -04:00
Chris Eager
224e6dac31
Fix NullPointerException in WebSocketResourceProviderTest
2021-05-13 17:19:55 -05:00
Chris Eager
3b1eb3a9db
Bump dropwizard-dependencies to 2.0.21
2021-05-13 17:19:55 -05:00
Chris Eager
e320626c6e
Add report message API
2021-05-13 17:19:34 -05:00
Jon Chambers
03dac2bf7e
Break down rate limit overruns by country.
2021-05-13 18:16:47 -04:00
Ehren Kret
730303567f
Bump version to 5.82
2021-05-13 12:11:22 -05:00
Ehren Kret
57ff9f86f5
Refactor repeated use of the UserCapabilities constructor
2021-05-13 12:08:59 -05:00
Ehren Kret
bfd2c32d4e
Add sender key capability
2021-05-12 18:15:25 -05:00
Ehren Kret
e9a3d52d7f
Add an optional description to the payment intent request
2021-05-12 18:14:33 -05:00
Chris Eager
ac7eb88194
Bump version to 5.81
2021-05-12 12:22:22 -05:00
Jon Chambers
d45154f2aa
Measure captcha challenge success rates.
2021-05-12 12:20:53 -05:00
Chris Eager
760462f8fb
Add configuration for regional SMS verification text
2021-05-12 12:20:46 -05:00
Chris Eager
1999bd2bcb
Bump version to 5.80
2021-05-11 16:26:11 -05:00
Jon Chambers
46110d4d65
Add client challenges for prekey and message rate limiters
2021-05-11 16:21:32 -05:00
Ehren Kret
5752853bba
Bump version to 5.79
2021-05-11 14:14:12 -05:00
Ehren Kret
02d06af3fc
Replace use of MDC with custom fields on the appender
2021-05-11 14:08:20 -05:00
Jon Chambers
09e0934eaf
Bump version to 5.78
2021-05-11 10:03:04 -05:00
Ehren Kret
b100f09205
Actually instantiate the donation controller in the service
2021-05-11 10:03:04 -05:00
Ehren Kret
670b69df24
Add host and service tags
2021-05-11 10:03:04 -05:00
Ehren Kret
03a531e1b0
Bump version to 5.77
2021-05-11 10:03:04 -05:00
Ehren Kret
13ecbe7e53
Fix missing defaults
2021-05-11 10:03:04 -05:00
Ehren Kret
17047513c3
Create stripe api endpoint for apple pay donations
2021-05-11 10:03:04 -05:00
Jon Chambers
7bd7d0e84e
Bump version to 5.76
2021-05-10 10:53:23 -04:00
Chris Eager
4571042814
Add missing increment to counter
2021-05-10 10:45:46 -04:00
Ehren Kret
9cb89b42bf
Create a logstash tcp socket appender factory
2021-05-07 16:02:55 -05:00
Jon Chambers
9a4453c414
Bump version to 5.75
2021-05-07 14:11:16 -04:00
Chris Eager
5fa22bc073
Bump dropwizard from 2.0.13 to 2.0.21
2021-05-07 12:21:16 -05:00
Jon Chambers
bf32b766a5
Don't generate stack traces for rate limit exceptions.
2021-05-07 10:44:31 -04:00
Jon Chambers
f0a8b5a54a
Allow the environment to manage the Tor exit node manager's lifecycle.
2021-05-06 15:38:24 -04:00
Jon Chambers
8e68e0e037
Bump version to 5.74
2021-05-06 13:12:30 -04:00
Jon Chambers
b81b811400
Actually instantiate the Tor exit node manager.
2021-05-06 12:21:30 -04:00
Jon Chambers
b41f97233e
Measure source country for all pre-key requests.
2021-05-06 11:58:14 -04:00
Jon Chambers
350de1c759
Add a simple utility class for testing if an IP belongs to a Tor exit node.
2021-05-06 11:57:18 -04:00
Jon Chambers
055e8d80a1
Bump version to 5.73
2021-05-04 16:15:35 -04:00
Jon Chambers
dfb8a419e7
Include message IDs when sending message batches.
2021-05-04 16:15:04 -04:00
Jon Chambers
030a791d69
Bump version to 5.72
2021-05-04 15:20:36 -04:00
Jon Chambers
cf495ef7cf
Key the message rate limiter to sender e164, not UUID.
2021-05-04 15:18:59 -04:00
Jon Chambers
8fdbcbef44
Send directory updates in batches.
2021-05-04 15:18:43 -04:00
Chris Eager
30c9968928
Bump assertj-core from 3.15.0 to 3.19.0
2021-05-04 14:12:40 -05:00
Chris Eager
f357ad098f
Bump wiremock from 2.26.2 to 2.27.2
2021-05-04 14:12:40 -05:00
Ehren Kret
1a8c40c02a
Patch code to use new Base64
2021-05-04 13:34:27 -05:00
Ehren Kret
20677d4be1
Fix logic error
2021-05-04 13:34:27 -05:00
Ehren Kret
c448c37cc9
Add logic to handle sending a common payload to multiple recipients
2021-05-04 13:34:27 -05:00
Chris Eager
f117d9ff4d
Bump version 5.71
2021-05-03 11:15:31 -05:00
Chris Eager
2dbd7ffc75
Bump lettuce from 6.0.1.RELEASE to 6.0.4.RELEASE
2021-05-03 10:57:43 -05:00
Chris Eager
fac4538f6f
Migrate rate limiters to rate limiter cluster
2021-05-03 10:57:34 -05:00
Chris Eager
01e526af25
Bump version to 5.70
2021-04-30 17:19:23 -05:00
Chris Eager
7e805d1592
Add rate limiters cluster to all RateLimiters
2021-04-30 17:18:56 -05:00
Chris Eager
c63bebb3e7
Bump version to 5.69
2021-04-30 16:16:02 -05:00
Chris Eager
0e6cfb460d
Fix potential NullPointerException in RateLimiter
2021-04-30 16:15:36 -05:00
Chris Eager
cd6b2512e1
Bump version to 5.68
2021-04-30 15:45:22 -05:00
Chris Eager
4f6b132449
Add secondaryCacheCluster to RateLimiter
2021-04-30 15:26:17 -05:00
Jon Chambers
b7c611a466
Generate final locals and parameters.
2021-04-30 11:53:55 -04:00
Chris Eager
0163242c8a
Bump version to 5.67
2021-04-28 16:26:05 -05:00
Chris Eager
7fa17e33e9
Bump libphonenumber to 8.12.21
2021-04-28 16:24:46 -05:00
Ehren Kret
e4dbb8efe7
Fix deserialization for Duration in dynamic config
2021-04-28 15:57:23 -05:00
Jon Chambers
89256fb5b3
Bump version to 5.66
2021-04-26 18:53:34 -04:00
Jon Chambers
59e401f41e
Use a MIME Base64 decoder for attachment signing keys.
2021-04-26 18:53:15 -04:00
Jon Chambers
4b42dd1db3
Bump version to 5.65
2021-04-26 18:17:30 -04:00
Jon Chambers
6196856a7c
Use the JDK-provided Base64 encoder/decoder.
2021-04-26 18:17:03 -04:00
Jon Chambers
0e8d4f9a61
Drop Bouncy Castle as a dependency.
2021-04-26 17:58:19 -04:00
Chris Eager
97d2d97ee7
Bump version to 5.64
2021-04-26 14:34:22 -05:00
Chris Eager
62315f423c
Record duration of successful verifications
2021-04-26 14:31:52 -05:00
Chris Eager
5ee56b022c
Add CustomFriendlyName parameter to Twilio Verify requests
2021-04-26 14:31:52 -05:00
Chris Eager
6c37b658ac
Migrate VoiceVerificationControllerTest to JUnit 5
2021-04-26 14:31:52 -05:00
Chris Eager
1f53900345
Migrate VoiceVerificationController to Util#findBestLocale
2021-04-26 14:31:52 -05:00
Chris Eager
deece33a0d
Fix parameterized testWhoAmI
2021-04-26 14:31:52 -05:00
Chris Eager
13053da97f
Add Twilio Verify experiment to AccountController
2021-04-26 14:31:52 -05:00
Chris Eager
4c019aef15
Migrate PendingAccountsTest to JUnit 5
2021-04-26 14:31:52 -05:00
Chris Eager
bab5e5769b
Add TwilioVerifyExperimentEnrollmentManager
2021-04-26 14:31:52 -05:00
Chris Eager
f68390e96f
Add Twilio Verify methods to SmsSender
2021-04-26 14:31:52 -05:00
Chris Eager
76cbf734ad
Add TwilioVerifySender to TwilioSmsSender
2021-04-26 14:31:52 -05:00
Chris Eager
17ba630014
Add TwilioVerifySender
2021-04-26 14:31:52 -05:00
Chris Eager
7057476048
Bump version to 5.63 (configuration-only change)
2021-04-23 15:05:55 -05:00
Chris Eager
3121867f72
Remove incorrect license header
2021-04-23 13:27:22 -05:00
Chris Eager
435410b004
Bump version to 5.62
2021-04-23 11:49:08 -05:00
Chris Eager
f190462879
Fully implement unsealed sender cardinality rate limiter
2021-04-23 11:45:53 -05:00
Chris Eager
7c0ff67625
Bump version to 5.61
2021-04-22 18:16:37 -05:00
Chris Eager
ac72c8b2de
Remove log
2021-04-22 18:15:52 -05:00
Chris Eager
20208ae528
Bump version to 5.60
2021-04-22 17:12:20 -05:00
Chris Eager
6c6f073bc2
Pass re-migration account in test
2021-04-22 17:11:10 -05:00
Chris Eager
0663fe30df
Add cancellation reason codes to error logging
2021-04-22 17:11:10 -05:00
Jon Chambers
2c0a75586b
Bump version to 5.59
2021-04-22 15:25:40 -04:00
Chris Eager
b6cb23cbb5
Handle potentially null item from Dynamo delete outcome
2021-04-22 15:24:58 -04:00
Chris Eager
ee555285ed
Bump version to 5.58
2021-04-21 15:30:18 -05:00
Chris Eager
b75456acf3
Allow migration thread pool to be scaled up
2021-04-21 15:23:02 -05:00
Chris Eager
be6d6351b9
Bump version to 5.57
2021-04-21 14:13:52 -05:00
Chris Eager
abafa2ccac
Include ATTR_MIGRATION_VERSION in update()
2021-04-21 14:13:13 -05:00
Chris Eager
53e6f419b6
Bump version to 5.56
2021-04-21 11:29:44 -05:00
Jon Chambers
b75dec40ac
Drop syslog4j in favor of Dropwizard's/Logback's syslog appender.
2021-04-21 11:23:52 -05:00
Chris Eager
0f4f775ee2
Bump version to 5.55
2021-04-21 11:14:29 -05:00
Chris Eager
5974328d9c
Ensure accounts are deleted after batch migration; store migration failures for later processing
2021-04-21 11:13:07 -05:00
Chris Eager
a472774734
Add threadpoool to increase Accounts → Dynamo migration throughput
2021-04-21 11:13:07 -05:00
Chris Eager
166d203e8e
Don’t PUT unmigrated accounts in update()
2021-04-21 11:13:07 -05:00
Chris Eager
3b3764535c
Bump version to 5.54
2021-04-20 13:01:46 -05:00
Chris Eager
f2a1a65a45
Migrate MessageControllerTest to JUnit 5
2021-04-20 13:00:29 -05:00
Chris Eager
b7c56108ca
Rate limit unsealed sender by E164
2021-04-20 13:00:29 -05:00
Jon Chambers
52478e7de0
Test the account crawler against a real redis cluster.
2021-04-20 13:58:27 -04:00
Chris Eager
ae9fd090de
Bump version to 5.53
2021-04-16 14:25:08 -05:00
Chris Eager
59bbd0c43c
Add Accounts DynamoDB
...
* Add additional test cases to AccountsTest
* Migrate AccountsManagerTest to JUnit 5
* Add AccountsDynamoDbConfiguration
* Add Account.dynamoDbMigrationversion
* Add DynamicAccountsDynamoDbMigrationConfiguration
* Add AccountsDynamoDb to AccountsManager
* Add AccountsDynamoDbMigrator
2021-04-16 14:24:24 -05:00
Jon Chambers
f6c9b2b6e7
Bump to version 5.52 (config-only change)
2021-04-15 19:03:40 -04:00
Chris Eager
0c0e33bc0e
Bump version to 5.51
2021-04-14 11:58:08 -05:00
Jon Chambers
4d33ba48cc
Discard some tools intended to detect abusive behavior that turned out to not actually be that helpful.
2021-04-14 11:18:19 -04:00
Chris Eager
18fb23f27c
Fix default logger autoconfiguration parse error
2021-04-13 16:15:01 -05:00
Chris Eager
92c25a8373
Fix flaky SenderTest
2021-04-13 16:15:01 -05:00
Sanket.Ghenand@tomtom.com
14f5271c20
logger use current class
2021-04-13 11:44:59 -05:00
Sanket.Ghenand@tomtom.com
37bda0b035
remove unused imports
2021-04-13 11:44:59 -05:00
Jon Chambers
675785a4fd
Bump version to 5.50
2021-04-12 18:27:28 -04:00
erdinc
0572951c8a
Remove temporary variable
2021-04-08 12:38:06 -05:00
Ewout ter Hoeven
7d766ee39e
Add FUNDING.yml to display sponsor button in GitHub
...
Displays the Sponsor button on top of the GitHub interface. This file is similar to the FUNDING.yml file on the Signal-Desktop repository.
2021-04-08 09:19:08 -04:00
Andrew Bissell
1f24c913a6
add unit tests for SmsSender
2021-04-08 09:17:47 -04:00
Jon Chambers
2a8806ec2e
Bump version to 5.49
2021-04-07 16:56:18 -04:00
Chris Eager
ffcabe6fc4
Update metric names in RemoteConfigs
2021-04-07 16:53:06 -04:00
Jon Chambers
365ad3a4f8
Bump version to 5.48
2021-04-01 11:33:24 -04:00
Jon Chambers
2cb788ceb7
Delete secure backups when deleting accounts.
2021-04-01 11:30:48 -04:00
Jon Chambers
257fef9734
Add a secure backup service client.
2021-04-01 11:30:48 -04:00
Jon Chambers
37e0730d2a
Bump version to 5.47
2021-03-31 18:06:33 -04:00
Chris Eager
dea359ef91
Add metric tag for prekey target type
2021-03-31 17:59:47 -04:00
Jon Chambers
64c9648dd8
Also trust the GeoTrust Global CA cert for now. We'll remove it soon.
2021-03-31 17:59:32 -04:00
Jon Chambers
6dfd13118d
Pin the trusted APNs CA cert.
2021-03-31 17:59:32 -04:00
Jon Chambers
2f6105f9bc
Bump version to 5.45
2021-03-30 17:18:18 -04:00
Jon Chambers
5c23f62cec
Record deletion errors in logs/metrics.
2021-03-30 17:17:32 -04:00
Jon Chambers
ab4e94edab
Revert "Revert "Delete data in the storage service when deleting accounts.""
...
This reverts commit 91fc0fd623 .
2021-03-30 17:17:32 -04:00
Jon Chambers
9589b7758c
Disallow generation of certificates with key IDs reserved for testing.
2021-03-30 16:25:36 -04:00
Chris Eager
681cdf8eff
Bump version to 5.44
2021-03-30 10:24:55 -05:00
Chris Eager
ad6c271f9d
Add dynamic configuration for signup captcha by country code
2021-03-30 10:22:02 -05:00
Chris Eager
c8414a63fb
Bump version to 5.43
2021-03-29 14:53:57 -05:00
Chris Eager
c10d9603ad
Add metric for international PreKey requests
2021-03-29 14:52:04 -05:00
Chris Eager
91bd061110
Migrate deprecated Lettuce method and enum usages
2021-03-29 14:51:26 -05:00
Chris Eager
83aa59f4dd
Align messages_cluster client name
2021-03-29 14:51:26 -05:00
Ehren Kret
3745a0b81d
Update from 684 to 776 for payment address length to account for signature
2021-03-27 00:45:47 -05:00
Jon Chambers
e2b093abce
Bump version to 5.42
2021-03-26 15:14:04 -04:00
Jon Chambers
7e29ed1cc7
Block attempts to set wallet addresses from unsupported countries.
2021-03-26 12:21:11 -04:00
Jon Chambers
5965f0fd22
Add a dynamically-configured list of allowed country codes for payments.
2021-03-26 12:21:11 -04:00
Jon Chambers
c3c46f2f74
Bump version to 5.41
2021-03-22 10:35:13 -04:00
Jon Chambers
a816aa0186
Revert "Add a storage client method for checking wheter a user has a stored manifest."
...
This reverts commit 8b6012f8a8 .
2021-03-22 10:32:38 -04:00
Jon Chambers
a7bad20eae
Revert "Add an admin command for printing a subset of account data."
...
This reverts commit a288b9df8e .
2021-03-22 10:32:38 -04:00
Jon Chambers
089b6b1644
Retry attempts to get messages after a delay; close connections after a finite number of retries.
2021-03-22 10:32:25 -04:00
Jon Chambers
7509520883
Make sure to release the semaphore even if something goes wrong getting messages.
2021-03-22 10:32:25 -04:00
Chris Eager
9778775046
Bump version to 5.40
2021-03-18 13:00:02 -05:00
Chris Eager
e5ae0572c5
Add android-2021-03 verification format
2021-03-18 12:49:50 -05:00
Chris Eager
63dac3bd9f
Migrate AccountControllerTest to JUnit 5
2021-03-18 12:45:20 -05:00
Chris Eager
19295eef46
Add dimensional metrics for account creation and verification
2021-03-18 12:45:20 -05:00
Jon Chambers
0bc1369e04
Work through the full list of supported locales when choosing a language for voice verification.
2021-03-18 13:29:09 -04:00
Jon Chambers
ca2f7d2eed
Parse locale strings when sending voice verification codes.
2021-03-18 13:29:09 -04:00
Jon Chambers
3ea535a412
Lower logging level for common failures and record failure metrics.
2021-03-18 12:43:31 -04:00
Jon Chambers
a288b9df8e
Add an admin command for printing a subset of account data.
2021-03-18 12:43:12 -04:00
Jon Chambers
8b6012f8a8
Add a storage client method for checking wheter a user has a stored manifest.
2021-03-18 12:43:12 -04:00
Chris Eager
1e5d7582da
Bump version to 5.39
2021-03-16 16:55:28 -05:00
Chris Eager
ad838b4827
Add isEnrolled(e164, experiment) for pre-registration experiments
2021-03-16 13:09:10 -05:00
Chris Eager
25f603efc9
Add DynamicPreRegistrationExperimentEnrollmentConfiguration
2021-03-16 13:09:10 -05:00
Chris Eager
152c927929
Reformat to match EditorConig
2021-03-16 13:09:10 -05:00
Chris Eager
b5bd16c6a9
Migrate DynamicConfigurationTest to JUnit 5
2021-03-16 13:09:10 -05:00
Chris Eager
14bfa83bb8
Migrate ExperimentEnrollmentManagerTest to JUnit 5
2021-03-16 13:09:10 -05:00
Chris Eager
5dc8086968
Migrate Twilio numbers from static to dynamic configuration
2021-03-16 12:53:51 -05:00
Jon Chambers
7118340f12
Bump version to 5.38
2021-03-10 15:01:13 -05:00
Jon Chambers
efe7f2e4c1
Remove vestiges of per-country sender ID logic/configuration.
2021-03-10 14:58:46 -05:00
Jon Chambers
fb2fc2335a
Require messaging service IDs; remove fallback-to-random-number logic.
2021-03-10 14:58:46 -05:00
Jon Chambers
345e116699
Place our trust in a Twilio message service.
2021-03-10 14:58:46 -05:00
Jon Chambers
e50a1c0646
Revert "Turn off alphanumeric sender ID for all countries."
...
This reverts commit 3bf0188e7f .
2021-03-10 14:58:46 -05:00
Jon Chambers
a6fd1aa06c
Fix a minor style warning.
2021-03-10 14:54:11 -05:00
Jon Chambers
3cdc58200a
Copy headers from the initial websocket upgrade request into subsequent resource requests.
2021-03-10 14:54:11 -05:00
Jon Chambers
933dd81d82
Allow callers to specify a TLS version when constructing a FaultTolerantHttpClient.
2021-03-10 10:53:33 -05:00
Jon Chambers
a1434524a4
Allow the storage service client to trust the Signal CA root.
2021-03-10 10:53:33 -05:00
Jon Chambers
cdc6afefe2
Add an affordance for providing a custom trust store to FaultTolerantHttpClient.
2021-03-10 10:53:33 -05:00
Jon Chambers
738ec2a38e
Use ForwardedIpUtil everywhere we're handling X-Forwarded-For values.
2021-03-10 10:37:10 -05:00
Jon Chambers
07886a9722
Introduce a utility class for working with forwarding chains in HTTP headers.
2021-03-10 10:37:10 -05:00
Jon Chambers
fde1b49729
Introduce a set of gauges for various network statistics as reported by nstat.
2021-03-09 11:45:53 -05:00
Jon Chambers
58210141f4
Discard unhelpful message count histograms.
2021-03-08 16:57:26 -05:00
brock-signal
e1f35102aa
Bump version to 5.37
2021-03-05 16:37:49 -07:00
Jon Chambers
af2a8548c3
Use Durations everywhere, drop unused constructors, and add tests.
2021-03-05 12:47:36 -05:00
brock-signal
1faedd3870
Return Retry-After time to clients when they are rate limited ( #421 )
...
* Return Retry-After time to clients when they are rate limited
* Update based on feedback
- New exception type that is mapped differently
- Always report time until allowed on rate limits
- Consume and transform into a differnt exception if we think it will be
allowed later
2021-03-05 10:23:03 -07:00
Jon Chambers
f57a4171ba
Gather IP-based metrics for international, unsealed-sender messages.
2021-03-05 11:54:01 -05:00
Jon Chambers
df9dc82de5
Record days since last seen when somebody's "last seen" date changes.
2021-03-01 15:31:53 -05:00
Jon Chambers
0573f09285
Bump version to 5.36
2021-02-24 18:09:57 -05:00
Jon Chambers
eb6fe11da1
Add tools to decline messages from senders meeting specific conditions
2021-02-24 18:09:26 -05:00
Jon Chambers
823025f3b3
Bump version to 5.35
2021-02-23 16:45:47 -05:00
Jon Chambers
0ee3f0a5b5
Fix a goof where the international unsealed sender country meter was incrementing unconditionally.
2021-02-23 16:45:47 -05:00
Jon Chambers
6bff564129
Bump version to 5.34
2021-02-23 15:36:36 -05:00
Jon Chambers
7dabc92447
Actually increment the international unsealed-sender counter instead of just declaring its existence.
2021-02-23 15:36:36 -05:00
Jon Chambers
78bbe8855b
Bump version to 5.33
2021-02-23 14:17:43 -05:00
Jon Chambers
5354104128
Only apply unsealed sender rate limits to targeted country codes.
2021-02-23 14:17:16 -05:00
Jon Chambers
a5118e4daa
Record push challenge presence/outcomes by country.
2021-02-23 13:36:37 -05:00
Ehren Kret
b5ade5dc12
Only return payment address from latest profile ( #408 )
...
* Only return payment address from latest profile
* Rename `currentVersionedProfile` to `currentProfileVersion`
* Change return type to Optional
* Update service/src/main/java/org/whispersystems/textsecuregcm/controllers/ProfileController.java
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com >
* Fix broken test
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com >
2021-02-23 12:29:47 -06:00
Jon Chambers
fff8c72f42
Record the rate of unsealed-sender messages from accounts with a non-push-capable master device.
2021-02-23 12:26:23 -05:00
Jon Chambers
06ca5f14fc
Record the age of accounts that send unsealed-sender messages.
2021-02-23 12:16:45 -05:00
Jon Chambers
8c9d871268
Log different messages depending on whether rate limits are actually enforced.
2021-02-23 12:16:45 -05:00
Jon Chambers
5951ead1b6
Cache Maven artifacts to reduce the incidence of plugin resolution failure.
2021-02-23 12:07:57 -05:00
Jon Chambers
4a0a0e10d2
Run tests on push to avoid double-running tests on pull requests.
2021-02-23 12:07:57 -05:00
Jon Chambers
7266eeee7a
Record the rate of international unsealed-sender attempts.
2021-02-23 12:01:09 -05:00
Jon Chambers
5839ce3e1a
Bump version to 5.32
2021-02-19 15:07:53 -05:00
Chris Eager
f85c6bf828
Demonstrate JUnit 5 works by migrating an existing test
2021-02-19 13:30:44 -06:00
Chris Eager
9af9e21e05
Add JUnit Jupiter + JUnit Vintage
2021-02-19 13:30:44 -06:00
Chris Eager
6d16ad2763
Bump maven-surefire-plugin to 3.0.0-M5
2021-02-19 13:30:44 -06:00
Chris Eager
447fba1594
Update to the latest version of libphonenumber
2021-02-19 13:30:16 -06:00
Ehren Kret
93f845610d
Remove payments list from Account
2021-02-19 13:18:30 -06:00
Chris Eager
aa8525385a
Temporarily support IncomingMessage.online ( #404 )
...
iOS versions prior to 5.5.0.7 send `online` on `IncomingMessage`, rather
than on the top-level entity. This adds a temporary server-side adaptation,
to prevent client-side issues, like persistent typing indicators.
2021-02-18 12:21:16 -06:00
Jon Chambers
ec783133c1
Close websockets if anything seems fishy at init time; register close handlers early.
2021-02-18 13:20:19 -05:00
Ehren Kret
f630bddb19
Bump version to 5.31
2021-02-17 16:30:27 -06:00
Moxie Marlinspike
71f0aab2c6
Actually start the currency managed lifecycle
2021-02-17 14:28:08 -08:00
Ehren Kret
ae8de67271
Bump version to 5.30
2021-02-17 09:23:49 -06:00
Ehren Kret
6142998b87
Use stripToNull on payments address
2021-02-16 16:12:50 -06:00
Ehren Kret
142376f360
Add payment address to the versioned profile
2021-02-16 16:12:50 -06:00
Moxie Marlinspike
ae329e735f
Make quote timestamp based on ftx timestamp
2021-02-16 12:02:39 -08:00
Moxie Marlinspike
2dbab70c8c
Create utility endpoint for currency conversion
2021-02-16 11:57:34 -08:00
Jon Chambers
47916ecb0f
Bump version to 5.29
2021-02-12 15:44:16 -05:00
Jon Chambers
635f669a32
Count slow queue drain events by platform.
2021-02-12 15:43:50 -05:00
Jon Chambers
5f49772ca6
Control enforcement of unsealed sender rate limits via dynamic configuration.
2021-02-12 15:43:05 -05:00
Jon Chambers
6332552346
Record the sender's country when we reject unsealed-sender messages.
2021-02-12 15:23:52 -05:00
Jon Chambers
4fb7afcf7b
Drop the feature flags table.
2021-02-12 15:23:34 -05:00
Jon Chambers
ff448950ed
Collapse the feature flag system into the dynamic config system.
2021-02-12 15:23:34 -05:00
Brian Acton
d6319aeb92
just set OWA,OWP,OWI user agents upon token deletion
2021-02-12 15:22:50 -05:00
Brian Acton
8fc6f9c442
when a user unregisters, record his user agent for posterity
2021-02-12 15:22:50 -05:00
Jon Chambers
fdcf317963
Bump version to 5.28
2021-02-11 14:11:00 -05:00
Jon Chambers
e9ea79cc8e
Shorten eviction time to 7 days (to match message retention time).
2021-02-11 14:01:11 -05:00
Jon Chambers
ad32555cc9
Drop the old push scheduler Redis singleton.
2021-02-11 14:01:11 -05:00
Ehren Kret
be8a1acca9
Remove message database from the codebase ( #395 )
...
* Remove message database from the codebase
* Remove unused ExperimentEnrollmentManager in test
* Be more stylish
2021-02-11 10:50:03 -06:00
Jon Chambers
477615fc66
Bump version to 5.27
2021-02-11 10:36:49 -05:00
Jon Chambers
e0ed8fa0b8
Introduce a hyper-log-log-based cardinality rate limiter
2021-02-11 10:36:26 -05:00
Jon Chambers
dcbf285fae
Un-ignore message controller tests.
2021-02-11 10:14:48 -05:00
Ehren Kret
ceda459942
Substitute some !Optional.isPresent with Optional.isEmpty
2021-02-10 13:21:44 -06:00
Ehren Kret
28fe44aea4
Remove messages dynamo db experiment
2021-02-10 10:21:49 -06:00
Jon Chambers
71510a8199
Decommission the old directory cache.
2021-02-10 11:02:11 -05:00
Jon Chambers
9cd121c8f6
Record initial queue drain times faceted by client platform.
2021-02-09 19:21:46 -05:00
Jon Chambers
03f14475ff
Bump version to 5.26
2021-02-09 13:45:22 -05:00
Jon Chambers
2f105ed0a4
Add support for remote client deprecation
2021-02-09 12:24:44 -05:00
Jon Chambers
b4350ec77b
Extend max line width to 120 characters.
2021-02-08 18:24:46 -05:00
brock-signal
0fa6eb4e31
Update copyright year on README.md ( #389 )
2021-02-08 14:58:54 -08:00
Jon Chambers
704d54dd01
Record a distribution of the number of keys available when checked.
2021-02-08 16:50:27 -05:00
Jon Chambers
bee9b61831
Record a distribution of initial queue depths broken down by platform.
2021-02-08 16:06:21 -05:00
Jon Chambers
9c6ce08db0
Break down message send attempts by client platform, message ephemerality, and sealed sender status.
2021-02-08 16:06:04 -05:00
Jon Chambers
6c0de89de8
Remove scary message-throttling feature flags.
2021-02-08 11:55:01 -05:00
Jon Chambers
aa99e202b4
Clarify behavioral contract of the pre-key store
2021-02-08 11:45:57 -05:00
Jon Chambers
04728ea4bc
Drop the old Postgres-based pre-key store.
2021-02-08 11:40:43 -05:00
Ehren Kret
6865cdfce3
Replace all org.hibernate validators with modern javax.validation
2021-02-08 09:45:33 -06:00
Ehren Kret
d09b36b1d5
Fix deprecated imports for Java6Assertions and Matchers
2021-02-08 09:45:33 -06:00
Ehren Kret
a5dd4f5fac
Remove signaling key from Device and AccountAttributes
2021-02-08 09:45:33 -06:00
Ehren Kret
9936b2967e
Don't use signaling key anymore
...
Signaling key was deprecated over 2 years ago. It's time for it to go.
2021-02-08 09:45:33 -06:00
Ehren Kret
0971613ac0
Remove messages table from account DB
...
This is quite out of date. Messages has been a separate database for a
long long time.
2021-02-08 09:45:33 -06:00
Ehren Kret
98f9bc3fc1
Export Google Java Style Guide as .editorconfig
2021-02-07 22:02:17 -06:00
Jon Chambers
f5f2da11d1
Bump version to 5.25
2021-02-05 11:44:24 -05:00
Jon Chambers
f7d855c59e
Drop unsealed sender rate limit logging from info to debug.
2021-02-05 11:43:37 -05:00
Jon Chambers
b6dba2cbe9
Bump version to 5.24
2021-02-05 10:42:19 -05:00
Jon Chambers
2fe743649d
Extract common UUID operations into a utility class.
2021-02-05 10:40:27 -05:00
Jon Chambers
a015237fd2
Don't request data from DynamoDB if we already have it locally.
2021-02-05 10:40:27 -05:00
Jon Chambers
e1f4deaacc
Add a generalized countItemsMatchingQuery method for DynamoDB stores.
2021-02-05 10:40:27 -05:00
Jon Chambers
1dceee3fa0
Make DynamoDBConfiguration more consistent.
2021-02-05 10:40:27 -05:00
Jon Chambers
3a17a7c98f
Explicitly make the dynamic config worker a daemon thread.
2021-02-04 19:05:51 -05:00
Jon Chambers
3298db8683
Split traffic between the Postgres and Dynamo pre-key stores.
2021-02-04 15:18:53 -05:00
Jon Chambers
d4d9403829
Add a Dynamo-backed key store.
2021-02-04 15:18:53 -05:00
Jon Chambers
426e6923ac
Continue to poll for config changes after startup.
2021-02-04 13:46:37 -05:00
Jon Chambers
b413f665d8
Make DynamicConfigurationManager not-really-Managed.
2021-02-04 11:33:33 -05:00
Moxie Marlinspike
5e1a572bd8
Track impact of unsealed sender rate limits ( #374 )
2021-02-03 08:58:47 -08:00
Ehren Kret
3036a149bb
Bump version to 5.23
2021-02-03 10:04:48 -06:00
Ehren Kret
0dcb4b645c
Build Dynamo DB backed Message Store ( #358 )
...
* Work in progress...
* Finish first pass draft of MessagesDynamoDb
* Use begins_with everywhere for destination device id
* Remove now unused methods
* First basic test built
* Add another test case
* Remove comment
* Verify more of the message contents
* Ensure all methods are tested
* Integrate MessagesDynamoDb into the MessagesManager
This change plugs the MessagesDynamoDb class into the live serving
flow in MessagesManager.
Tests are not yet as comprehensive for this big a change as they
should be, but they now compile and pass so checkpointing here with a
commit.
* Put DynamoDB before RDBS when deleting specific messages
* Extract method
* Make aws sdk version into a property
* Rename clientBuilder
* Discard messages with no GUID
* Unify batching logic into one function
* Comment on the source of the value in this constant
* Inline method
* Variable name swizzle
* Add timers to all public methods
* Add missing return statements
* Reject messages that are too large with response code 413
* Add configuration to control dynamo DB timeouts
* Set server timestamp from the ReceiptSender
* Change to shorter key names to optimize IOPS
* Fix tests broken by changing column names
* Fix broken copyright template output
* Remove copyright template error text
* Add experiments to control use of dynamo and rds in message storage
* Specify instance profile credentials for the dynamic configuration manager
* Use property for aws sdk version
* Switch dynamo to instance profile credentials
* Add metrics to the batch write loop
* Use placeholders in logging
2021-02-03 10:03:19 -06:00
Jon Chambers
d71082b491
Bump version to 5.22
2021-02-01 21:25:14 -05:00
Jon Chambers
fc4c8d6054
Update to the latest version of libphonenumber.
2021-02-01 21:25:14 -05:00
Jon Chambers
1a27c7eabc
Add a (failing) test for new Ivory Coast phone numbers.
2021-02-01 21:25:14 -05:00
Jon Chambers
b2e9602aba
Bump version to 5.21
2021-02-01 20:45:39 -05:00
Jon Chambers
408b959441
Require a push challenge when registering (or else require a captcha).
2021-02-01 20:44:21 -05:00
Jon Chambers
35fc98a188
Add an experiment enrollment manager.
2021-02-01 11:08:16 -05:00
Moxie Marlinspike
92f6a79e1f
Add a dynamic configuration manager
2021-02-01 11:01:58 -05:00
Jon Chambers
5a9c8e304c
Bump version to 5.20
2021-01-30 16:57:44 -05:00
Jon Chambers
8f94ed68a3
Ignore expired devices when checking for GV1->GV2 migration capability.
2021-01-30 16:55:05 -05:00
Jon Chambers
a4cd30451c
Bump version to 5.19
2021-01-27 10:34:37 -05:00
Jon Chambers
ce1a4b94cb
Actually store emoji/about text in the database.
2021-01-27 10:34:13 -05:00
Jon Chambers
92a0deffcf
Add more robust tests for about/emoji fields.
2021-01-27 10:34:13 -05:00
Jon Chambers
97b6f6028b
Fix a minor typo in the help text for a feature flag task.
2021-01-25 18:03:38 -05:00
Jon Chambers
99e300a640
Bump version to 5.18
2021-01-25 15:21:22 -05:00
Jon Chambers
611e8c39ee
Actually drop feature flag config.
2021-01-25 15:20:06 -05:00
Jon Chambers
af55287dee
Bump version to 5.17
2021-01-25 15:03:49 -05:00
Jon Chambers
01f1c263a6
Add a meter for captcha requests.
2021-01-25 14:58:27 -05:00
Jon Chambers
24ea6a9f1d
Revert "Temporarily disable registration abuse system"
...
This reverts commit 22ef058cb6 .
2021-01-25 14:58:27 -05:00
Jon Chambers
46c800b8b7
Smoosh request logging tasks together rather than having one task for each direction.
2021-01-25 14:58:15 -05:00
Jon Chambers
f10be893ce
Drop the old feature flag controller.
2021-01-25 14:55:57 -05:00
Jon Chambers
c606c1664f
Add admin tasks for listing, setting, and deleting feature flags.
2021-01-25 14:55:57 -05:00
Jon Chambers
90a938fe2b
Bump version to 5.16
2021-01-20 15:47:44 -05:00
Jon Chambers
225932b4c9
Add emojis/"about" text to profiles
2021-01-20 15:42:47 -05:00
Jon Chambers
6b850b9894
Allow (versioned) profile names up to 380 base64 characters long.
2021-01-20 11:08:10 -05:00
Jon Chambers
d8ef796a46
Bump version to 5.15
2021-01-19 15:50:42 -05:00
Jon Chambers
943a5d1036
Shard push scheduling cache
2021-01-19 15:50:12 -05:00
Jon Chambers
e600e9c583
Bump version to 5.14
2021-01-19 12:42:05 -05:00
Moxie Marlinspike
b25da8ceaa
Don't attempt SMS to iran ( #355 )
2021-01-19 09:13:37 -08:00
Jon Chambers
f7388f6492
Bump version to 5.13
2021-01-18 20:25:18 -05:00
Ehren Kret
10cdb7387d
Be consistent with use of DataSize class
2021-01-18 17:01:43 -06:00
Ehren Kret
dd436dd1dd
Create a Meter for tracking messages larger than 256kib
2021-01-18 17:01:43 -06:00
Jon Chambers
13b84635b5
Drop an unused message database index. ( #352 )
2021-01-18 10:26:03 -06:00
Jon Chambers
144d1ea280
Bump version to 5.12
2021-01-17 21:02:09 -05:00
Moxie Marlinspike
27534d408f
Log when messages cache detects topology change ( #354 )
...
Co-authored-by: Moxie Marlinspike <moxie+github@signal.org >
2021-01-17 17:13:23 -08:00
Jon Chambers
b80a2921aa
Bump version to 5.11
2021-01-17 11:14:30 -05:00
Jon Chambers
0a23ce870a
Allow message persisters to be disabled by a feature flag.
2021-01-17 11:13:12 -05:00
Jon Chambers
ba1e100b42
Bump version to 5.10 (config only change)
2021-01-16 12:34:38 -05:00
Jon Chambers
2bc237468d
Bump version to 4.09
2021-01-16 11:19:02 -05:00
Jon Chambers
c355ef8d53
Reduce the message cache thread pool size.
2021-01-16 11:15:25 -05:00
Jon Chambers
3052d88164
Bump version to 5.08
2021-01-16 03:35:36 -05:00
Jon Chambers
1feb23ba99
Stop periodic topology refreshes.
2021-01-16 03:35:36 -05:00
Jon Chambers
767f650e6f
Bump version to 5.07
2021-01-16 02:57:35 -05:00
Jon Chambers
59a0fd0799
Embiggen message cluster thread pool.
2021-01-16 02:57:04 -05:00
Jon Chambers
00b5cfcf17
Allow the client presence manager to use an entirely separate cluster.
2021-01-16 02:57:04 -05:00
Jon Chambers
f7217944e7
Bump version to 5.06
2021-01-16 01:52:40 -05:00
Jon Chambers
9e342f253d
Use the same client for inserts and reads in the message cache cluster.
2021-01-16 01:50:40 -05:00
Jon Chambers
20c48b6bb2
Expand message-related thread pools to 1 thread per shard.
2021-01-16 01:50:40 -05:00
Jon Chambers
572004d37a
Bump version to 5.05
2021-01-16 01:18:30 -05:00
Jon Chambers
4f9e7bb572
Separate Lettuce thread pools.
2021-01-16 01:18:05 -05:00
Jon Chambers
df9b692a32
Bump version to 5.04
2021-01-15 18:08:50 -05:00
Jon Chambers
0a322d5a9f
Add a "doomsday switch."
2021-01-15 18:05:18 -05:00
Jon Chambers
59eb6d10c1
Gate based on destination rather than random.
2021-01-15 18:05:18 -05:00
Jon Chambers
affb219d72
Bump version to 5.03
2021-01-15 17:05:37 -05:00
Jon Chambers
a57ce1dd17
Add machinery to allow a percentage of message sends to succeed.
2021-01-15 17:05:16 -05:00
Jon Chambers
4e7ace3b48
Bump version to 5.02
2021-01-15 16:24:12 -05:00
Moxie Marlinspike
b100b3c36b
Reject traffic without logging exceptions
2021-01-15 16:23:53 -05:00
Jon Chambers
b64b27e5ea
Bump version to 5.01
2021-01-15 15:35:22 -05:00
Jon Chambers
81c1ba6eef
Respond to all "message send" attempts with HTTP/503.
2021-01-15 15:34:14 -05:00
Jon Chambers
46b981bb2f
Bump version to 5.00
2021-01-15 13:51:39 -05:00
Jon Chambers
93ae4d1ee6
Move the client presence manager to its own breaker.
2021-01-15 13:51:39 -05:00
Jon Chambers
9c53d818f4
Use separate clusters for message cache read/write operations.
2021-01-15 13:51:39 -05:00
Jon Chambers
efb2a1d913
Bump version to 4.99
2021-01-15 12:37:03 -05:00
Jon Chambers
e5a2c1ab10
Always return an empty list of prekeys.
2021-01-15 12:27:10 -05:00
Jon Chambers
550c0c7625
Bump version to 4.98 (config-only change)
2021-01-14 17:40:52 -05:00
Ehren Kret
0abc269a3e
Bump version to 4.97
2021-01-14 14:33:56 -06:00
Jon Chambers
6b3cbe7882
Bump version to 4.96
2021-01-14 11:01:05 -05:00
Jon Chambers
67ed035b36
Retry serializable key transactions.
2021-01-13 17:38:29 -05:00
Jon Chambers
ca25105f13
Bump version to 4.95
2021-01-12 18:50:14 -05:00
Jon Chambers
ad30786f4a
Parallelize message persisters.
2021-01-12 18:50:14 -05:00
Jon Chambers
ff0bdcd0c2
Bump version to 4.94
2021-01-11 19:36:57 -05:00
Jon Chambers
2e01da5ec1
Add a task to enable/disable accelerated crawling.
2021-01-11 19:29:18 -05:00
Jon Chambers
8fb37a0024
Log when a crawling cycle has wrapped up.
2021-01-11 19:29:18 -05:00
Jon Chambers
9412a7424c
Return HTTP/429 whenever somebody tries to get contacts from the old directory system.
2021-01-11 19:29:10 -05:00
Ehren Kret
e440eb1733
Update to 4.93
2021-01-11 13:28:05 -06:00
Jon Chambers
f8cbb4f386
Temporarily suspend client version metrics to reduce load on our metric aggregator.
2021-01-11 14:04:44 -05:00
Ehren Kret
86ccaa52a5
Allow configuration of multiple directory account crawler listeners ( #325 )
...
* Allow configuration of multiple directory account crawler listeners
Only one should update the local redis directory. This one is marked
with replicationPrimary true. The others in the list only serve to
issue replication requests over to CDS replication load balancers.
* Update one more metric name
2021-01-10 17:11:02 -06:00
Jon Chambers
db14d15953
Bump version to 4.92
2021-01-10 16:20:49 -05:00
Jon Chambers
cc3e5d23e4
Enable Lettuce adaptive topology refreshes.
2021-01-10 16:20:35 -05:00
Jon Chambers
b70d076324
Bump version to 4.91
2021-01-10 15:14:35 -05:00
Jon Chambers
cac86d1f77
Standardize toplogy event handling strategy.
2021-01-10 15:14:12 -05:00
Jon Chambers
22f7bb822f
Raise log level of toplogy changes.
2021-01-10 15:14:12 -05:00
Jon Chambers
1b53f10091
Reload scripts across the whole cluster if one shard is missing the script.
2021-01-10 15:00:12 -05:00
Jon Chambers
2d697ac8db
Bump version to 4.90
2021-01-10 13:04:16 -05:00
Jon Chambers
bac268a21c
Don't send a reply to clients until messages are safely in a non-volatile store.
2021-01-10 13:03:40 -05:00
Jon Chambers
321e6e6679
Don't validate cluster membership (allow new shards to join dynamically).
2021-01-10 12:58:35 -05:00
Jon Chambers
e028700175
Bump version to 4.89
2021-01-09 16:27:49 -05:00
Moxie Marlinspike
63a673cf1d
Bump version to 4.88
2021-01-09 15:57:55 -05:00
Moxie Marlinspike
22ef058cb6
Temporarily disable registration abuse system
2021-01-09 15:57:55 -05:00
Jon Chambers
adcdb19c88
Bump version to 4.87 (config-only change)
2021-01-09 09:42:50 -05:00
Jon Chambers
d35fa8e8e1
Bump version to 4.86
2021-01-08 18:07:35 -05:00
Jon Chambers
9ee6419bc0
Publish directory updates to multiple SQS queues.
2021-01-08 18:07:18 -05:00
Jon Chambers
6af7bfb536
Bump version to 4.85
2021-01-08 06:20:09 -05:00
Jon Chambers
3bf0188e7f
Turn off alphanumeric sender ID for all countries.
2021-01-08 06:18:53 -05:00
Jon Chambers
91fc0fd623
Revert "Delete data in the storage service when deleting accounts."
...
This reverts commit ff1a721d5b .
2021-01-08 06:18:39 -05:00
Jon Chambers
f936ec0236
Bump version to 4.84
2020-12-23 12:29:49 -05:00
Jon Chambers
d2fcf68381
Record the status message when clients reject websocket messages.
2020-12-23 12:29:15 -05:00
Jon Chambers
a4d0c17efd
Record OS versions for iOS requests.
2020-12-23 11:36:31 -05:00
Jon Chambers
ff1a721d5b
Delete data in the storage service when deleting accounts.
2020-12-23 11:35:38 -05:00
Jon Chambers
c870a1bbd5
Introduce a storage service client.
2020-12-23 11:35:38 -05:00
Ehren Kret
ebf332a8c9
Record delivery duration excluding noise from non-primary devices ( #311 )
...
* Record delivery duration excluding noise from non-primary devices
* Extract method
2020-12-21 10:28:39 -06:00
Jon Chambers
b2d335e0da
Bump version to 4.83
2020-12-11 11:46:30 -05:00
Jon Chambers
85d1fff18f
Actually increment the Android request counter.
2020-12-11 11:46:07 -05:00
Jon Chambers
2839a95198
Bump version to 4.82
2020-12-11 11:20:43 -05:00
Jon Chambers
6bb106c2cb
Drop the Redis command timeout back down to 3 seconds to facilitate debug data collection.
2020-12-11 11:20:10 -05:00
Jon Chambers
e551fd2c1b
Revert "Pause checks for GV1 migration when checking for capability downgrades."
...
This reverts commit e7745db36e .
2020-12-10 17:02:41 -05:00
Jon Chambers
34a11c2338
Record OS versions for desktop and SDK versions for Android.
2020-12-10 17:02:05 -05:00
Jon Chambers
0de3a400eb
Record unsuccessful server-to-client requests in more detail.
2020-12-10 17:01:46 -05:00
Jon Chambers
e524ff965d
Add a utility method for getting client platform tags from UA strings for metrics.
2020-12-10 17:01:46 -05:00
Jon Chambers
7ba689aaeb
Measure adoption of the gv1-migration capability.
2020-12-09 19:08:52 -05:00
Jon Chambers
c228e125c3
Bump version to 4.81
2020-12-08 10:37:54 -05:00
Jon Chambers
92fde83b3a
Discard oversized messages bound for desktop clients via websockets.
2020-12-07 15:03:35 -05:00
Jon Chambers
3a268aef50
Reduce logging level for Lettuce connection events.
2020-12-07 11:56:41 -05:00
Jon Chambers
9486dcf6b0
Bump version to 4.80
2020-12-02 13:22:43 -05:00
Jon Chambers
f673bd8d7b
Set device capabilities when linking a new device.
2020-12-02 13:21:08 -05:00
Ehren Kret
299b680013
Always include UUID in UD certificate ( #300 )
2020-12-01 08:56:55 -06:00
Jon Chambers
b1160af896
Bump version to 4.79
2020-11-25 15:05:27 -05:00
Jon Chambers
81e8352391
Time (and count) SQS "send message" operations.
2020-11-25 15:05:05 -05:00
Jon Chambers
1a627d6a87
Extend Redis command timeout to 3.5 seconds to avoid TCP retransmission "coincidences."
2020-11-25 15:04:06 -05:00
Jon Chambers
d5f00db9ea
Bump version to 4.78
2020-11-20 17:25:20 -05:00
Ehren Kret
00a3e562dc
Force use of UCS-2 instead of GSM-7 for SMS to China ( #297 )
2020-11-20 14:41:48 -06:00
Jon Chambers
36aca49fc3
Bump version to 4.77
2020-11-18 15:48:20 -05:00
Jon Chambers
0628c9161c
Use named threads for the JsonMetricsReporter executor service.
2020-11-18 15:46:14 -05:00
Jon Chambers
9b28672e19
Honor disabled metric attributes in JsonMetricsReporter.
2020-11-18 15:46:14 -05:00
Jon Chambers
903ffef42c
Bump version to 4.76
2020-11-18 14:38:33 -05:00
Jon Chambers
d764058a04
Measure contact intersection rate directly.
2020-11-18 14:28:53 -05:00
Jon Chambers
0aafe38496
Stop recording Lettuce latency metrics.
2020-11-17 13:20:37 -05:00
Jon Chambers
d86d565b3f
Bump version to 4.75
2020-11-17 09:26:44 -05:00
Jon Chambers
e7745db36e
Pause checks for GV1 migration when checking for capability downgrades.
2020-11-17 09:25:12 -05:00
Jon Chambers
66d3e1b551
Bump to version 4.74
2020-11-16 10:54:48 -05:00
Jon Chambers
474b879b16
Only notify CDS if an account attribute change actually changes an account's discoverability.
2020-11-16 10:54:12 -05:00
Jon Chambers
2f5d6e16a6
Bump version to 4.73
2020-11-13 17:16:20 -05:00
Jon Chambers
0a23b57ff8
Report Dropwizard metrics via the Wavefront proxy.
2020-11-13 17:14:13 -05:00
Jon Chambers
251e1b51c5
Make Micrometer batch size configurable.
2020-11-13 17:13:39 -05:00
Jon Chambers
68150b640e
Bump version to 4.72
2020-11-13 10:50:40 -05:00
Jon Chambers
217d270457
Update to Lettuce 6.0.1.
2020-11-13 10:50:21 -05:00
Jon Chambers
143b6f0df1
Revert "Add a debug version of Lettuce to track down the cause of https://github.com/lettuce-io/lettuce-core/issues/1494 ."
...
This reverts commit 4d5fbec5a5 .
2020-11-13 10:50:21 -05:00
Jon Chambers
81684b921e
Bump version to 4.71
2020-11-11 13:07:23 -05:00
Jon Chambers
2cc6c959a5
Revert "Temporarily suspend reporting of Lettuce latency metrics."
...
This reverts commit 2045153495a823b06334e7cbd86fb89c946c1cea.
2020-11-11 13:05:49 -05:00
Jon Chambers
fb9aa672c9
Include the name of the calling thread when a command times out.
2020-11-11 13:05:35 -05:00
Jon Chambers
325e65db7f
Expand UA parsing tests to cover OS details in desktop strings.
2020-11-11 13:05:18 -05:00
Jon Chambers
603e2b173d
Bump version to 4.70
2020-11-10 11:49:46 -05:00
Jon Chambers
103b49ec45
Record the number of non-success responses from clients when sending messages via websockets.
2020-11-10 11:47:57 -05:00
Jon Chambers
6c78d7544f
Capture a thread dump when Redis commands time out.
2020-11-10 11:47:39 -05:00
Jon Chambers
4d5fbec5a5
Add a debug version of Lettuce to track down the cause of https://github.com/lettuce-io/lettuce-core/issues/1494 .
2020-11-10 11:45:46 -05:00
Jon Chambers
7cf50a15d0
Include client age/UA string when closing due to a spurious keepalive request.
2020-11-10 11:45:12 -05:00
Jon Chambers
adbc4e9fec
Record the platforms of clients that send a keepalive without a local presence.
2020-11-10 11:45:12 -05:00
Jon Chambers
4815434dd7
Record the platforms of clients that are getting displaced.
2020-11-10 11:45:12 -05:00
Jon Chambers
44f20e7ad6
Bump version to 4.69
2020-11-09 09:29:21 -05:00
Jon Chambers
b25e50bdae
Drop API keys from Micrometer configuration.
2020-11-09 09:26:56 -05:00
Jon Chambers
4aab388eff
Bump version to 4.68
2020-11-04 13:11:45 -05:00
Ehren Kret
604287244f
Update copyright statement on all source files
...
IntelliJ Copyright Profile used to automate this.
2020-11-04 11:55:35 -05:00
Jon Chambers
47646a4aa0
Bump version to 4.67 (config-only change)
2020-11-02 15:46:59 -05:00
Jon Chambers
70ca5e2aef
Bump version to 4.66
2020-10-30 11:41:42 -04:00
Jon Chambers
4a4a721e90
Log timeouts in addition to incrementing a counter to make it easier to get precise timestamps.
2020-10-30 11:35:59 -04:00
Jon Chambers
52078f7762
Bump version to 4.65 (configuration-only change)
2020-10-29 14:00:42 -04:00
Jon Chambers
36377e59cb
Bump version 4.64
2020-10-29 11:03:29 -04:00
Jon Chambers
a4062b338e
Count timeouts directly.
2020-10-29 10:51:18 -04:00
Jon Chambers
ec223ac2ed
Bump version to 4.63
2020-10-28 13:01:49 -04:00
Ehren Kret
5587b7d469
Expose gv1-migration on profile endpoint
2020-10-28 13:00:57 -04:00
Jon Chambers
b00577fda4
Bump version to 4.62
2020-10-28 12:39:07 -04:00
Ehren Kret
26870d134f
Set source UUID when delivering envelopes from message cache/db on websocket
2020-10-28 12:38:32 -04:00
Jon Chambers
fb2baad7cc
Restore netty-tcnative.
2020-10-28 12:29:30 -04:00
Jon Chambers
0431a2abb1
De-dupe connection event logging messages.
2020-10-28 12:29:14 -04:00
Jon Chambers
4bae8d4cfb
Bump version to 4.61
2020-10-27 16:18:10 -04:00
Ehren Kret
c2db2d3cbd
Add GV1 Migration capability
2020-10-27 16:17:21 -04:00
Jon Chambers
05d9ec673e
Send push notifications if websockets close before all messages are delivered
2020-10-27 16:02:55 -04:00
Jon Chambers
ae566dca98
Bump version to 4.60
2020-10-23 11:36:03 -04:00
Jon Chambers
1732cf9243
Add filters/tasks to enable/disable request logging.
2020-10-23 11:35:06 -04:00
Jon Chambers
ab62c19de9
Temporarily suspend reporting of Lettuce latency metrics.
2020-10-23 11:30:42 -04:00
Jon Chambers
96d3a69479
Use container-managed executors for APN/GCM senders.
2020-10-23 11:30:03 -04:00
Ehren Kret
2f7bb3499d
Make copyright notices consistent
...
Use SPDX-License-Identifier copyright notices and apply consistently
to source throughout the repo. This covers all modules except
service. That one will be updated in a subsequent commit.
2020-10-23 10:16:02 -05:00
Jon Chambers
8523bb1ad8
Change the "oversized message" threshold from 64kB to 1MB.
2020-10-23 11:13:19 -04:00
Jon Chambers
e266e1ce40
Bump version to 4.59
2020-10-21 15:21:12 -04:00
Jon Chambers
169c3d5a0f
Update to Pushy 0.14.2.
2020-10-21 15:20:36 -04:00
Jon Chambers
9cffbe3d49
Drop netty-tcnative-boringssl-static as a dependency.
2020-10-21 15:20:36 -04:00
Jon Chambers
6090439289
Bump version to 4.58
2020-10-20 19:05:15 -04:00
Jon Chambers
e6da54d9b8
Resolve build error introduced while merging.
2020-10-20 19:04:44 -04:00
Jon Chambers
0a843dc086
Tighten the "prune peers" interval; move from fixed-rate to fixed-delay scheduling.
2020-10-20 19:00:55 -04:00
Jon Chambers
7b3ed2dcbf
Catch exceptions thrown while pruning missing peers.
2020-10-20 19:00:55 -04:00
Jon Chambers
42ed6c3ded
Add clients to the "cleanup" list before actually setting their presence keys.
2020-10-20 19:00:55 -04:00
Jon Chambers
23ca011ac1
Record account deletion reasons.
2020-10-20 19:00:34 -04:00
Jon Chambers
d82b3dc429
Record a count of deleted accounts by country.
2020-10-20 19:00:34 -04:00
Jon Chambers
e391793c58
Remove now-redundant Redis execution time metrics.
2020-10-20 19:00:11 -04:00
Jon Chambers
236cef4b56
Report Lettuce command latency via Micrometer.
2020-10-20 19:00:11 -04:00
Jon Chambers
45687513bf
Revert "Revert "Share resources between Lettuce clients.""
...
This reverts commit 334f509be599fa6a501026e900d912ff7187e150.
2020-10-20 19:00:11 -04:00
Jon Chambers
019ffdaf12
Add a command for dumping Redis command stats.
2020-10-20 18:59:44 -04:00
Jon Chambers
1a57d4fe11
Update to Lettuce 6.
2020-10-20 18:59:26 -04:00
Jon Chambers
3081f22e70
Bump version to 4.57
2020-10-20 17:25:26 -04:00
Jon Chambers
df847431eb
Measure total bytes written to websockets and failed send attempts.
2020-10-20 17:22:30 -04:00
Jon Chambers
5b2f1eee65
Bump version to 4.56
2020-10-19 11:24:58 -04:00
Jon Chambers
99f488d48f
Drop websocket connection names (unused for a while now).
2020-10-19 11:24:35 -04:00
Jon Chambers
05929871c9
Rename PushSender to MessageSender and add docs.
2020-10-19 11:24:35 -04:00
Jon Chambers
74b3daa70a
Collapse WebsocketSender into PushSender.
2020-10-19 11:24:35 -04:00
Jon Chambers
5e30b0499a
Move provisioning message-sending to its own manager class.
2020-10-19 11:24:35 -04:00
Jon Chambers
32bf742709
Bump version to 4.55
2020-10-15 12:19:28 -04:00
Jon Chambers
9535f399f2
Update to Dropwizard 2.0.13.
2020-10-15 12:18:55 -04:00
Jon Chambers
85c7347899
Add a command for dumping Redis SLOWLOG output.
2020-10-15 12:18:37 -04:00
Jon Chambers
4579d26a53
Bump version to 4.54 (config-only change)
2020-10-14 17:48:14 -04:00
Jon Chambers
128605ab33
Bump to version 4.53 (configuration-only change)
2020-10-14 15:11:11 -04:00
Jon Chambers
4dbc908619
Bump version to 4.52
2020-10-13 16:07:28 -04:00
Jon Chambers
3a84775912
Log cluster topology change events, too.
2020-10-13 16:07:08 -04:00
Jon Chambers
290a82e61c
Log when Lettuce connection events happen.
2020-10-13 16:07:08 -04:00
Jon Chambers
adac7d7fb2
Estimate the size of message entity lists sent via the REST API.
2020-10-13 15:49:11 -04:00
Jon Chambers
679fd9d60f
Bump version to 4.51
2020-10-13 12:45:13 -04:00
Jon Chambers
52320ebb91
Revert "Share resources between Lettuce clients."
...
This reverts commit eab1f503a5 .
2020-10-13 12:44:54 -04:00
Jon Chambers
b4aa17bfbe
Bump version to 4.50
2020-10-13 09:09:57 -04:00
Jon Chambers
3f8b7ec327
Bump version to 4.49
2020-10-12 15:46:09 -04:00
Jon Chambers
eab1f503a5
Share resources between Lettuce clients.
2020-10-11 14:36:28 -04:00
Jon Chambers
2bcc90a9eb
Bump version to 4.48
2020-10-11 13:43:30 -04:00
Jon Chambers
a9d0aa136d
Add OS-reported metrics for cached/buffered memory.
2020-10-11 13:43:15 -04:00
Jon Chambers
bc7f2677b1
Bump version to 4.47
2020-10-11 12:37:17 -04:00
Jon Chambers
691ab3080d
Fix some metrics names/types.
2020-10-11 12:37:17 -04:00
Jon Chambers
c5147e0c68
Report direct memory metrics.
2020-10-11 11:37:51 -04:00
Jon Chambers
e9b0829860
Report the maximum number of file descriptors allowed by the OS.
2020-10-11 11:27:57 -04:00
Jon Chambers
95428ab8b0
Report GC metrics.
2020-10-11 11:08:24 -04:00
Jon Chambers
8a595ed77a
Bump version to 4.46 (config-only change)
2020-10-09 18:48:11 -04:00
Jon Chambers
f0ce003765
Bump version to 4.45
2020-10-09 18:18:55 -04:00
Jon Chambers
775d56fe52
Drop the "repair message queue metadata" script.
2020-10-09 18:18:30 -04:00
Jon Chambers
ac2ff29288
Make sure to close scheduled reporters.
2020-10-09 18:05:00 -04:00
Jon Chambers
81cfa5891c
Bump version to 4.44
2020-10-08 10:52:07 -04:00
Jon Chambers
8e1975efe4
Record the number of deletable accounts per crawled chunk.
2020-10-08 10:51:41 -04:00
Curt Brune
39c09733d3
Add /v1/payments/auth endpoint
2020-10-08 10:51:01 -04:00
Jon Chambers
da16dfd528
Bump version to 4.43
2020-10-06 16:50:20 -04:00
Jon Chambers
e1c397993d
Require Android clients to support the gv2-3 capability
2020-10-06 16:49:49 -04:00
Jon Chambers
96cbdd5c37
Bump version to 4.42
2020-10-06 11:05:21 -04:00
Jon Chambers
58ca4baf71
Time account deletion operations.
2020-10-06 11:04:47 -04:00
Jon Chambers
5245b68689
Remove temporary metrics.
2020-10-06 11:04:47 -04:00
Jon Chambers
2b6811cb1b
Really delete old accounts instead of just removing their push channels.
2020-10-06 11:04:47 -04:00
Jon Chambers
f0a8aa06bc
Bump version to 4.41
2020-10-05 17:00:47 -04:00
Jon Chambers
c82496b972
Remove the "repair queue metadata" script.
2020-10-05 16:57:16 -04:00
Jon Chambers
c31348ea9a
Drop the "insert messages" timeout.
2020-10-05 16:57:01 -04:00
Jon Chambers
75d903b164
Bump version to 4.40
2020-10-05 10:38:59 -04:00
Jon Chambers
c885540749
Check that the return of ZRANGEBYSCORE isn't an empty list.
2020-10-05 10:38:40 -04:00
Jon Chambers
7dd40fd2d4
Bump version to 4.39
2020-10-04 16:10:09 -04:00
Jon Chambers
bb087caddc
Don't panic if a queue exists, but is empty when repairing metadata.
2020-10-04 16:09:56 -04:00
Jon Chambers
899b54c082
Bump version to 4.38
2020-10-04 15:34:42 -04:00
Jon Chambers
5e3f8b9c2e
Disallow insertion of duplicate messages.
2020-10-04 15:34:14 -04:00
Jon Chambers
1ccfe928f7
Add a test to make sure that we don't double-insert messages with the same GUID.
2020-10-04 15:34:14 -04:00
Jon Chambers
3016269268
Revert "Temporarily disable the message persisters entirely."
...
This reverts commit d464721397 .
2020-10-04 15:25:06 -04:00
Jon Chambers
952cfae4e6
Repair queue metadata before persisting queues.
2020-10-04 15:25:06 -04:00
Jon Chambers
df7f209ebc
Revert "Don't insert message batches in transactions."
...
This reverts commit 16eefe333f .
2020-10-04 15:12:15 -04:00
Jon Chambers
b09eb63e1e
Bump version to 4.37
2020-10-04 11:45:03 -04:00
Jon Chambers
d464721397
Temporarily disable the message persisters entirely.
2020-10-04 11:44:35 -04:00
Jon Chambers
551a85c1e6
Use named variables instead of referring to KEYS/ARGV array indices in message cache scripts.
2020-10-04 11:27:27 -04:00
Jon Chambers
f3f4bd33e5
Bump version to 4.36
2020-10-04 10:49:22 -04:00
Jon Chambers
2686761608
Instrument "get queues to persist" calls and "persist queues" exceptions.
2020-10-04 10:48:42 -04:00
Jon Chambers
02a2c3224f
Discard unused feature flag constants/mocking.
2020-10-04 10:48:42 -04:00
Jon Chambers
8ec1dda9ba
Give the persister worker thread a meaningful name.
2020-10-04 10:48:42 -04:00
Jon Chambers
0308532523
Set a query timeout of 5 seconds when inserting batches of messages.
2020-10-04 10:48:42 -04:00
Jon Chambers
10b3af2947
Revert "Insert messages individually."
...
This reverts commit 158bfe4816 .
2020-10-04 10:48:42 -04:00
Jon Chambers
1f34569ddc
Bump version to 4.35
2020-10-03 13:13:34 -04:00
Jon Chambers
158bfe4816
Insert messages individually.
2020-10-03 13:13:34 -04:00
Jon Chambers
fb0941bbe9
Bump version to 4.34
2020-10-03 11:44:05 -04:00
Jon Chambers
16eefe333f
Don't insert message batches in transactions.
2020-10-03 11:43:42 -04:00
Jon Chambers
65e585e122
Pause only if we're running low on queues to persist.
2020-10-03 11:43:34 -04:00
Jon Chambers
2ba36ee04c
Add a gauge for worker thread liveness.
2020-10-03 11:43:34 -04:00
Jon Chambers
fc05529574
Let MessagePersister manage its own worker thread.
2020-10-03 11:43:34 -04:00
Jon Chambers
010770904f
Bump version to 4.33
2020-10-02 15:05:14 -04:00
Jon Chambers
07d24f487a
Don't re-register metrics for shared circuit breakers.
2020-10-02 15:05:00 -04:00
Jon Chambers
0960e4caa4
Bump version to 4.32
2020-10-02 10:57:05 -04:00
Jon Chambers
811acdb7f5
Use separate namespaces for Redis breaker/retry metrics.
2020-10-02 10:57:05 -04:00
Jon Chambers
2fce5c4d5d
Bump version to 4.31
2020-10-01 17:17:28 -04:00
Jon Chambers
a7266364d1
Refactor peer pruning to be more retry-friendly.
2020-10-01 17:17:07 -04:00
Jon Chambers
e83b41dc01
Reduce default Redis cluster command timeout to 3 seconds.
2020-10-01 17:17:07 -04:00
Jon Chambers
76665dd56e
Retry Redis commands that time out.
2020-10-01 17:17:07 -04:00
Jon Chambers
2d42b478ba
Consolidate cluster and pub/sub circuit breakers.
2020-10-01 17:17:07 -04:00
Jon Chambers
5797e8aeec
Bump version to 4.30
2020-10-01 12:54:58 -04:00
Jon Chambers
885fa6beae
Add tests for Device#isEnabled.
2020-10-01 12:54:35 -04:00
Jon Chambers
65cdd5fcbe
Drop the 365-day check when deciding if an account is enabled.
2020-10-01 12:54:35 -04:00
Jon Chambers
73da4844ee
Bump version to 4.29
2020-10-01 11:07:34 -04:00
Jon Chambers
4302e19aba
Register a UUID argument factory for the messages database.
2020-10-01 11:06:43 -04:00
Jon Chambers
0c6f05f34a
Add a (failing!) test for sending a sealed-sender message after a non-sealed-sender message.
2020-10-01 11:06:43 -04:00
Jon Chambers
385123fd40
Bump version to 4.28
2020-09-30 11:47:36 -04:00
Jon Chambers
8040c285cd
Include stack traces when reporting persistence issues.
2020-09-30 11:47:16 -04:00
Jon Chambers
bf1ee61bf0
Bump version to 4.27
2020-09-30 10:40:22 -04:00
Jon Chambers
ada454f56f
Add a meter for persisting individual messages.
2020-09-30 10:39:56 -04:00
Jon Chambers
57d2ef8740
Return queues to the "to persist" list if something goes wrong during persistence.
2020-09-30 10:39:56 -04:00
Jon Chambers
a97e0982e3
Add an integration test for message persistence.
2020-09-30 10:39:56 -04:00
Jon Chambers
eaa2060d84
Fix an incorrect locking key and some previously-suppressed lock contention issues.
2020-09-30 10:39:56 -04:00
Jon Chambers
3e02c574e7
Log exceptions when persisting messages.
2020-09-30 10:39:56 -04:00
Jon Chambers
e873d55cd3
Bump version to 4.26
2020-09-29 10:58:20 -04:00
Jon Chambers
c7230ccbb0
Remove messages from the cache in bulk.
2020-09-29 10:58:02 -04:00
Jon Chambers
fc71ced660
Persist messages in batches.
2020-09-29 10:58:02 -04:00
Jon Chambers
6041a9d094
Make exit conditions slightly more conservative.
2020-09-29 10:58:02 -04:00
Jon Chambers
599cd766e1
Let Dropwizard manage persister thread lifecycles.
2020-09-29 10:58:02 -04:00
Jon Chambers
84e02099a2
Bump version to 4.25
2020-09-28 15:59:14 -04:00
Alan Evans
e64c8007c0
Detect GV2 capability in non-gcm Android devices
2020-09-28 15:54:10 -04:00
Jon Chambers
9339823e84
Add temporary metrics to monitor the ratio of enabled/disabled accounts.
2020-09-28 15:33:52 -04:00
Jon Chambers
1ab52cfce3
Bump version to 4.24
2020-09-25 17:08:32 -04:00
Jon Chambers
e6d4620af1
Only allow linking desktop clients if they support the third-generation GV2 capability.
2020-09-25 17:08:32 -04:00
Jon Chambers
656e6db846
Only consider desktop devices GV2-capable if they send the third-gen GV2 capability.
2020-09-25 17:08:32 -04:00
Jon Chambers
9ed16478f4
Bump version to 4.23
2020-09-25 11:42:32 -04:00
Jon Chambers
30474e3a2b
Add a test for message ordering.
2020-09-25 11:41:58 -04:00
Jon Chambers
460bd98f1b
Add metrics for messages missing GUIDs.
2020-09-25 11:41:22 -04:00
Jon Chambers
a553eba574
Add an API endpoint for deleting accounts.
2020-09-25 11:39:17 -04:00
Jon Chambers
61f515670c
Add plumbing for deleting accounts and all associated data.
2020-09-25 11:39:17 -04:00
Jon Chambers
789af0f8a6
Add support for deleting keys associated with an account.
2020-09-25 11:39:17 -04:00
Jon Chambers
86fae58c96
Add support for deleting account entities from the database.
2020-09-25 11:39:17 -04:00
Jon Chambers
03ae741505
Bump version to 4.22
2020-09-24 19:04:19 -04:00
Jon Chambers
c54d3abe47
Check for the second-gen GV2 capability when linking devices.
2020-09-24 19:04:02 -04:00
Jon Chambers
906cd975d1
Bump version to 4.21
2020-09-23 18:06:55 -04:00
Jon Chambers
6fe511eb50
Fix a bad size check when loading stored messages.
2020-09-23 18:02:33 -04:00
Jon Chambers
839f34ec4e
Bump version to 4.20
2020-09-23 14:51:21 -04:00
Jon Chambers
17d18b22c7
Drop pub/sub sending logic from WebsocketSender.
2020-09-23 14:51:02 -04:00
Jon Chambers
66a04ed730
Don't explicitly notify clients when messages get persisted.
2020-09-23 14:51:02 -04:00
Jon Chambers
7e14a0bc30
Drop pub/sub operations from WebsocketConnection.
2020-09-23 14:51:02 -04:00
Jon Chambers
4f2e06407b
Bump version to 4.19
2020-09-23 12:06:22 -04:00
Jon Chambers
77de0f86dc
Require desktop clients to send the new gv2-2 capability flag.
2020-09-23 12:05:58 -04:00
Jon Chambers
f79c998f95
Bump version to 4.18
2020-09-22 10:21:54 -04:00
Jon Chambers
3b4bc9163a
Untangle thread pool names, tweak sizes, and add instrumentation.
2020-09-22 10:21:33 -04:00
Jon Chambers
e146135bd1
Don't attempt to send more messages if sending failed for any reason.
2020-09-22 10:21:33 -04:00
Jon Chambers
e9e18afb4a
Add a (failing) integration test demonstrating an infinite loop.
2020-09-22 10:21:33 -04:00
Jon Chambers
62c31eb202
Revert "Revert keyspace delivery for all messages"
...
This reverts commit 4dc49604b6 .
2020-09-22 10:21:33 -04:00
Jon Chambers
8016e84bc7
Bump version to 4.17
2020-09-21 18:58:25 -04:00
Jon Chambers
1eacee85ae
Count how many iOS users set the old GV2 capability flag.
2020-09-21 18:58:07 -04:00
Jon Chambers
5986145282
Add a second-generation GV2 capability and ignore the old capability for iOS devices.
2020-09-21 18:57:53 -04:00
Jon Chambers
5756be7d36
Bump version to 4.16
2020-09-21 15:42:48 -04:00
Jon Chambers
b134a69a28
Record the number of authentications for users with/without GV2 support.
2020-09-21 15:42:13 -04:00
Jon Chambers
83f9eacac4
Refactor UserAgentTagUtil to parse UA strings with UserAgentUtil.
2020-09-21 12:24:08 -04:00
Jon Chambers
baab6b951b
Add a general utility class for parsing user-agent strings.
2020-09-21 12:24:08 -04:00
Jon Chambers
b041fbe3ec
Add semver4j as a dependency.
2020-09-21 12:24:08 -04:00
Jon Chambers
1b7b6d4b7e
Bump version to 4.15
2020-09-17 17:14:12 -04:00
Jon Chambers
903a1bec91
Reject (eventually) oversize messages.
2020-09-17 17:07:20 -04:00
Jon Chambers
15c7d9b0f1
Bump version to 4.14
2020-09-14 15:37:49 -04:00
Jon Chambers
ebc3a251b7
Drop the UUID addressing capability flag entirely.
2020-09-14 15:36:29 -04:00
Jon Chambers
a567f4a6de
Don't check UUID capability when blocking capability downgrades.
2020-09-14 15:36:29 -04:00
Jon Chambers
4dc49604b6
Revert keyspace delivery for all messages
...
* Revert "Send all messages via keyspace notifications when a feature flag is enabled."
This reverts commit fadcf62166 .
* Revert "Consolidate semaphore release logic."
This reverts commit c02b255766 .
* Revert "Represent stored message state as an enumeration rather than a collection of booleans."
This reverts commit 89788fa665 .
* Revert "Refactor: collapse state into semaphores/atomic booleans."
This reverts commit a052e2ee8f .
* Revert "Refactor: move sendNextMessagePage into its own method."
This reverts commit 158e5004b7 .
* Revert "Avoid querying the database if we think all new messages are in the cache."
This reverts commit 6f9ff3be37 .
* Revert "Query for more stored messages if an update happens while we're already processing a batch."
This reverts commit f766c57743 .
* Revert "Only send the "queue cleared" message once per websocket session."
This reverts commit 8f53152c3e .
* Revert "Let processStoredMessages handle requery logic."
This reverts commit 7bbc88d716 .
* Revert "Only allow one thread to process stored messages at a time."
This reverts commit 68256d2343 .
2020-09-14 15:35:10 -04:00
Jon Chambers
c660daf4c2
Bump version to 4.13
2020-09-11 13:27:18 -04:00
Jon Chambers
fadcf62166
Send all messages via keyspace notifications when a feature flag is enabled.
2020-09-11 13:12:17 -04:00
Jon Chambers
c02b255766
Consolidate semaphore release logic.
2020-09-11 13:12:17 -04:00
Jon Chambers
89788fa665
Represent stored message state as an enumeration rather than a collection of booleans.
2020-09-11 13:12:17 -04:00
Jon Chambers
a052e2ee8f
Refactor: collapse state into semaphores/atomic booleans.
2020-09-11 13:12:17 -04:00
Jon Chambers
158e5004b7
Refactor: move sendNextMessagePage into its own method.
2020-09-11 13:12:17 -04:00
Jon Chambers
6f9ff3be37
Avoid querying the database if we think all new messages are in the cache.
2020-09-11 13:12:17 -04:00
Jon Chambers
f766c57743
Query for more stored messages if an update happens while we're already processing a batch.
2020-09-11 13:12:17 -04:00
Jon Chambers
8f53152c3e
Only send the "queue cleared" message once per websocket session.
2020-09-11 13:12:17 -04:00
Jon Chambers
7bbc88d716
Let processStoredMessages handle requery logic.
2020-09-11 13:12:17 -04:00
Jon Chambers
68256d2343
Only allow one thread to process stored messages at a time.
2020-09-11 13:12:17 -04:00
Jon Chambers
1a0c70acc2
Bump version to 4.12
2020-09-11 12:14:12 -04:00
Ehren Kret
f88c440c48
Automatically retry when Twilio returns unreachable ( #190 )
...
* Parse and log the Twilio error code
* Automatically retry without sender ID when Twilio returns unreachable
* Remove attempt count and pass around whether or not sender id was used
2020-09-10 13:58:39 -05:00
Jon Chambers
cfa56ba6d4
Remove the "send online messages via keyspace notifications" feature flag.
2020-09-10 10:41:20 -04:00
Jon Chambers
37e6297fb2
Bump version to 4.11
2020-09-09 16:05:20 -04:00
Jon Chambers
2c6b646d87
Enforce no capability downgrade on device verification
2020-09-09 16:05:00 -04:00
Jon Chambers
e7572094b5
Require all enabled devices to support GV2.
2020-09-09 16:05:00 -04:00
Jon Chambers
ddd5e0e889
Bump version to 4.10
2020-09-09 14:42:37 -04:00
Jon Chambers
5e34823a49
Optionally send online-only messages via keyspace notifications.
2020-09-09 14:42:09 -04:00
Jon Chambers
fdef21a871
Record and listen for ephemeral messages in a separate queue.
2020-09-09 14:42:09 -04:00
Jon Chambers
d40cff8a99
Revert "Add a system for storing, retrieving, and notifying listeners about ephemeral (online) messages."
...
This reverts commit 06754d6158 .
2020-09-08 15:55:09 -04:00
Jon Chambers
8927e45ded
Revert "Optionally send online-only messages via keyspace notifications."
...
This reverts commit 12fe28d8ab .
2020-09-08 15:55:09 -04:00
Jon Chambers
a602f73ed0
Bump version to 4.09
2020-09-08 11:31:07 -04:00
Jon Chambers
1a93df92d4
Replace DeliveryStatus with a simple boolean.
2020-09-08 11:29:33 -04:00
Jon Chambers
12fe28d8ab
Optionally send online-only messages via keyspace notifications.
2020-09-08 11:19:55 -04:00
Jon Chambers
06754d6158
Add a system for storing, retrieving, and notifying listeners about ephemeral (online) messages.
2020-09-08 11:14:42 -04:00
Jon Chambers
8f9ec07ac3
Bump version to 4.08
2020-09-08 09:31:25 -04:00
Jon Chambers
1d5087374e
Jettison UUID-or-E164 plumbing in favor of UUID-only.
2020-09-08 09:30:47 -04:00
Jon Chambers
8356264fe0
Rename RedisClusterMessagesCache and related classes to just MessagesCache.
2020-09-08 09:30:47 -04:00
Jon Chambers
18ecd748dd
Entirely discard the old message cache machinery.
2020-09-08 09:30:47 -04:00
Jon Chambers
6061d0603a
Bump version to 4.07
2020-09-03 13:53:10 -04:00
Jon Chambers
e324f27655
Stop sending/processing CONNECTED pub/sub messages.
2020-09-03 13:52:43 -04:00
Jon Chambers
afd645fb11
Retrieve messages using commands available in Redis 3.
2020-09-03 13:31:55 -04:00
Jon Chambers
e48d37ccab
Bump version to 4.06
2020-09-03 12:09:30 -04:00
Jon Chambers
5b42593fbb
Persist messages one page at a time.
2020-09-03 12:08:46 -04:00
Jon Chambers
25f3c6a548
Drop our dependency on commons-pool.
2020-09-03 11:05:10 -04:00
Jon Chambers
5c04f2634a
Use a dedicated executor service for dispatching keyspace notifications.
2020-09-03 11:04:48 -04:00
Jon Chambers
ad01610d1e
Rely on the client presence manager to decide whether to send push notifications.
2020-09-03 11:04:48 -04:00
Jon Chambers
697c380cd1
Close websocket connections when displaced.
2020-09-03 11:04:48 -04:00
Jon Chambers
ce89bf3c77
Bump version to 4.05
2020-09-02 11:57:52 -04:00
Jon Chambers
81e8143a43
Rely solely on the clustered message cache.
2020-09-02 11:57:33 -04:00
Jon Chambers
39c4117409
Bump version to 4.04
2020-09-02 11:03:04 -04:00
Jon Chambers
8409986ef5
Mirror persistence operations from the new persister to the old persister.
2020-09-02 11:02:40 -04:00
Jon Chambers
2b50367d7f
Put message persisters behind feature flags.
2020-09-02 11:02:40 -04:00
Jon Chambers
cd4b85b0b5
Don't print intermediate status when running SimultaneousSenderTest.
2020-09-01 16:29:47 -04:00
Jon Chambers
dcec02412d
Bump version to 4.03
2020-09-01 12:35:20 -04:00
Jon Chambers
1dcc491fec
Move cache-mirroring operations to the calling thread.
2020-09-01 12:34:37 -04:00
Jon Chambers
c6419a9c61
Bump version to 4.02
2020-09-01 11:12:24 -04:00
Ehren Kret
d715f86713
Refactor to constants
2020-09-01 10:55:26 -04:00
Ehren Kret
5221828705
Increase maximum sticker size to 300 kibibytes
...
In preparation for animated stickers, allow stickers to be up to 300
kibibytes.
2020-09-01 10:55:26 -04:00
Jon Chambers
6aa4acd3db
Mirror "clear queue" operations to the clustered cache.
2020-09-01 10:55:07 -04:00
Jon Chambers
15936c29c1
Let Dropwizard manage the lifecycle of the feature flag manager.
2020-09-01 10:50:59 -04:00
Jon Chambers
41689a2d82
Version correction; 4.01 is the new 3.100
2020-08-31 16:13:19 -04:00
Jon Chambers
1f71d19004
Bump version to 3.100
2020-08-31 15:58:01 -04:00
Jon Chambers
8b70c69a0d
Replace metrics with logging statements.
2020-08-31 15:57:17 -04:00
Jon Chambers
dfe80a30dc
Make ScourMessageCacheCommand a ConfiguredCommand instead of an EnvironmentCommand.
2020-08-31 15:57:17 -04:00
Jon Chambers
82a7f2dc2d
Bump version to 3.99
2020-08-27 15:58:23 -04:00
Jon Chambers
ce026e7ad0
Don't send contacts to CDS if they've opted out of discoverability. (SERVER-130)
2020-08-27 15:58:02 -04:00
Jon Chambers
58e3122dab
Add a discoverableByPhoneNumber account attribute. (SERVER-129)
2020-08-27 15:58:02 -04:00
Jon Chambers
3b55b2d1b2
Actually make the "scour message cache" available to Dropwizard. Oops.
2020-08-27 15:15:04 -04:00
Jon Chambers
e3a7164fe1
Bump version to 3.98
2020-08-27 13:20:37 -04:00
Jon Chambers
2326e61de5
Clear and re-create gauges to avoid "stuck" feature flag reporting.
2020-08-27 13:18:12 -04:00
Jon Chambers
32b18c9509
Add an endpoint for getting the current state of feature flags.
2020-08-27 13:18:12 -04:00
Jon Chambers
acf52ad8a3
Make feature flag manager tests use a real database to avoid over-mocking.
2020-08-27 13:18:12 -04:00
Jon Chambers
08dd493f98
Don't report exceptions as part of traffic metrics.
2020-08-27 13:17:57 -04:00
Jon Chambers
4188cc2949
Bump version to 3.97
2020-08-27 10:52:05 -04:00
Jon Chambers
07bbe7dfb2
Return to an async model for push notification latency.
2020-08-27 10:51:44 -04:00
Jon Chambers
0aa1b80e3e
Add a command for persisting any detached messages in the old message cache.
2020-08-27 10:51:12 -04:00
Jon Chambers
5ac390281e
Add an abstract base class for Redis singleton tests.
2020-08-27 10:51:12 -04:00
Jon Chambers
ac465c5a18
Add a Lettuce-based Redis singleton client.
2020-08-27 10:51:12 -04:00
Jon Chambers
745cd9f501
Bump version to 3.96
2020-08-26 20:27:53 -04:00
Jon Chambers
1ef3546822
Add support for server-side feature flags
2020-08-26 20:27:33 -04:00
Jon Chambers
b9df028bfb
Bump version to 3.95
2020-08-25 10:58:30 -04:00
Jon Chambers
e74ad2b555
Make RedisClusterMessagesCache a Managed class.
2020-08-25 10:58:01 -04:00
Jon Chambers
71c0056c66
Use lots of specific subscriptions instead of one monster subscription to minimize load.
2020-08-25 10:58:01 -04:00
Jon Chambers
56b27ea785
Record experiment outcomes with timers instead of counters.
2020-08-25 10:57:44 -04:00
Jon Chambers
7e8974683c
Bump version to 3.94
2020-08-20 17:28:27 -04:00
Jon Chambers
2d75f59d33
Add support for UUID-only delivery certificates. (SERVER-132)
2020-08-20 17:05:53 -04:00
Jon Chambers
a709a3bcc0
Remove a candidate metric provider.
2020-08-20 15:40:56 -04:00
Jon Chambers
34bf5112e0
Drop TimeProvider.
2020-08-20 15:40:24 -04:00
Jon Chambers
bfe18d1d28
Re-nerf the clustered message persister.
2020-08-20 15:38:09 -04:00
Jon Chambers
6a76afc20d
Add a test to make sure the persister is respecting persist delays.
2020-08-20 15:38:09 -04:00
Jon Chambers
9c469c2f96
Base persister tests on a real Redis cluster.
2020-08-20 15:38:09 -04:00
Jon Chambers
e68a1dee33
Bump version to 3.93
2020-08-19 11:39:27 -04:00
Jon Chambers
2ab42f3dd6
Refine and expand clustered message cache metrics.
2020-08-19 11:39:05 -04:00
Jon Chambers
af34b43a8d
Reactivate the message notification experiment.
2020-08-19 11:39:05 -04:00
Jon Chambers
0f71cc7864
Rename metrics associated with cluster circuit breakers for clarity.
2020-08-18 17:59:00 -04:00
Jon Chambers
115ca7b789
Bump version to 3.92.
2020-08-18 16:22:12 -04:00
Jon Chambers
df90de3a5f
Change default Lettuce command timeout to 10s.
2020-08-18 16:21:42 -04:00
Jon Chambers
42ea7a9814
Revert Lettuce connection pooling.
2020-08-18 16:21:42 -04:00
Jon Chambers
809750b995
Bump version to 3.91
2020-08-18 12:23:55 -04:00
Jon Chambers
c683cbdb2d
Time Redis operations.
2020-08-18 12:20:12 -04:00
Jon Chambers
d243b73678
Make Lettuce connection pools configurable. Double the default size.
2020-08-18 12:20:12 -04:00
Jon Chambers
b9abd2f9a5
Bump version to 3.90
2020-08-17 11:34:47 -04:00
Jon Chambers
dc28d063aa
Reactivate the explicit client presence experiment.
2020-08-17 11:34:27 -04:00
Jon Chambers
34cb661c35
Bump to version 3.89
2020-08-15 20:23:33 -04:00
Jon Chambers
bb6045c1d0
Disarm the client presence manager experiment.
2020-08-15 20:23:05 -04:00
Jon Chambers
f1a74b5939
Disarm new message keyspace notifications.
2020-08-15 20:23:05 -04:00
Jon Chambers
6fb9038af1
Move to a synchronous, pooled connection model for Redis clusters.
2020-08-14 17:15:56 -04:00
Jon Chambers
27f721a1f5
Update to resilience4j 1.5.0.
2020-08-14 17:15:56 -04:00
Jon Chambers
5717dc294e
Combine the read/write breakers for Redis clusters.
2020-08-14 17:15:56 -04:00
Jon Chambers
ae0f8df11b
Break out FaultTolerantPubSubConnection as its own thing so different use cases can have their own subscription space.
2020-08-14 17:15:56 -04:00
Jon Chambers
20bbdf22c7
Bump version to 3.88
2020-08-13 15:32:48 -04:00
Jon Chambers
77460ba502
Remove keyspace notification configuration checks because AWS doesn't support CONFIG GET.
2020-08-13 15:32:25 -04:00
Jon Chambers
72c6a4289e
Bump version to 3.87
2020-08-13 12:46:42 -04:00
Jon Chambers
f8235da4d8
Fix an issue where the queue for a thread pool was not bounded.
2020-08-13 12:46:11 -04:00
Jon Chambers
29973d7a72
Bump version to 3.86
2020-08-13 12:22:05 -04:00
Jon Chambers
8d3316ccd6
Listen for new messages via keyspace notifications.
2020-08-13 12:17:04 -04:00
Jon Chambers
2c29f831e8
Add an explicit client presence system.
2020-08-13 10:56:26 -04:00
Jon Chambers
9457325119
Add pub/sub affordances to FaultTolerantRedisCluster.
2020-08-13 10:56:26 -04:00
Jon Chambers
189f8afcc9
Warm up the test cluster before running tests to avoid transient startup jitters.
2020-08-13 10:56:26 -04:00
Jon Chambers
f3a34990ab
Update to Lettuce 5.3.3.
2020-08-12 16:57:23 -04:00
Jon Chambers
9699b67510
Record the size of outgoing message lists.
2020-08-12 16:57:10 -04:00
Jon Chambers
d60633a46c
Add a meter for the number of messages we send via websocket connections.
2020-08-12 16:57:10 -04:00
Jon Chambers
ae2df33ce6
Bump version to 3.85
2020-08-11 15:51:46 -04:00
Jon Chambers
0fcf28e7e7
Use the MessagesManager to actually persist messages.
2020-08-11 15:50:22 -04:00
Jon Chambers
5fad8f74b1
Factor MessagePersister into its own class.
2020-08-11 15:50:22 -04:00
Jon Chambers
e35e34d2e0
Move operation-mirroring logic to MessagesManager.
2020-08-11 15:50:22 -04:00
Jon Chambers
8943144b2b
Bump version to 3.84
2020-08-11 13:09:40 -04:00
Jon Chambers
aa6acc6673
Bump version to 3.83
2020-08-11 12:04:57 -04:00
Jon Chambers
31a215d4d6
Use "global." instead of "g." as the prefix for global config options.
2020-08-11 11:55:35 -04:00
Jon Chambers
9be6af8481
Bump version to 3.82
2020-08-11 11:03:09 -04:00
Jon Chambers
30948de13d
Update a metric provider dependency and remove a workaround for an upstream issue.
2020-08-11 11:02:38 -04:00
Ehren Kret
b97158bf7b
Create global remote config controllable in the signal server configuration ( #127 )
...
* Add global config controller through file rather than database
* Do no permit attempting to set or delete global config entries
2020-08-10 16:31:15 -05:00
Jon Chambers
b14a8ff2fd
Bump version to 3.81
2020-08-10 12:56:56 -04:00
Jon Chambers
6646be8d94
Make CpuUsageGauge a CachedGauge.
2020-08-10 12:56:37 -04:00
Jon Chambers
647a2aea64
Cache a reference to the OS management bean to avoid repeated lookups.
2020-08-10 12:56:37 -04:00
Jon Chambers
035693aa30
Bump version to 3.80
2020-08-10 11:07:31 -04:00
Jon Chambers
58e58ce51c
Remove a candidate metric provider.
2020-08-10 11:03:20 -04:00
Jon Chambers
7aff72fc7c
Bump version to 3.79
2020-08-07 16:32:11 -04:00
Ehren Kret
4b7e48d3ec
Override default ingestion URI for SignalFx ( #131 )
2020-08-07 15:29:42 -05:00
Jon Chambers
91086d004c
Bump version to 3.78
2020-08-07 16:02:30 -04:00
Ehren Kret
0e074d3a5a
Copy SignalFxMeterRegistry into a new class to get better logging
2020-08-07 16:01:56 -04:00
Jon Chambers
5d86b8893c
Bump version to 3.77
2020-08-07 13:22:45 -04:00
Ehren Kret
ea00224e7f
Add support for reporting metrics to signalfx ( #129 )
2020-08-07 11:10:31 -05:00
Jon Chambers
38293efe75
Keep a running count of the number of open websockets.
2020-08-06 16:07:34 -04:00
Jon Chambers
3286c5e174
Disable Redis persistence for tests.
2020-08-06 11:22:51 -04:00
Jon Chambers
e0f8a28f38
Close connections before closing the whole cluster client.
2020-08-06 11:22:31 -04:00
Jon Chambers
bf1b00b163
Drop a spurious RedisClusterClient.
2020-08-06 11:22:31 -04:00
Jon Chambers
2678b9003a
Bump version to 3.76
2020-08-05 14:53:15 -04:00
Ehren Kret
4fa3a136ad
Remove arbitrary SMS and add a NANPA message service ( #123 )
...
* Remove arbitrary SMS code
This code has run its course and is no longer needed for now.
* Add elements to sample config that were left out
* Add a messaging service for NANPA
* Fixup sample config capitalization
2020-08-05 13:35:11 -05:00
Jon Chambers
178a6bd66e
Log the top-level exception name and message when crawling badness happens.
2020-08-05 11:23:16 -04:00
Jon Chambers
e7d3ee3bc8
Bump version to 3.75
2020-08-05 10:18:57 -04:00
Ehren Kret
57e1339230
Further restrict user agent pattern matching ( #120 )
...
* Further restrict user agent pattern matching
* Add static qualifier to method
2020-08-04 12:58:16 -05:00
Jon Chambers
97c9a9b0b0
Bump version to 3.74
2020-08-04 11:02:02 -04:00
Jon Chambers
4144423227
Publish percentiles for Micrometer distributions/timers.
2020-08-04 10:58:59 -04:00
Jon Chambers
4d03514142
Add a command for clearing the messages cache cluster.
2020-08-04 10:58:41 -04:00
Jon Chambers
0bc5566976
Mirror delete-after-persist operations to the clustered message cache.
2020-08-04 10:58:41 -04:00
Jon Chambers
99550b79ab
Bump version to 3.73
2020-08-03 15:47:56 -04:00
Jon Chambers
925567add5
Actually "plug in" the reglock counter.
2020-08-03 15:43:33 -04:00
Jon Chambers
ad97731d46
Reduce the maximum number of versions in play to 1,000.
2020-08-03 15:42:15 -04:00
Jon Chambers
40684a93a2
Restrict user-agent version matching to a more confined space.
2020-08-03 15:42:15 -04:00
Jon Chambers
f3b644ceb8
Update the push latency manager to use UUIDs and a Redis cluster.
2020-08-03 15:36:02 -04:00
Jon Chambers
901ba6e87f
Added a push latency manager.
2020-08-03 15:36:02 -04:00
Jon Chambers
6e9b70a8d6
Bump version to 3.72
2020-07-30 19:16:19 -04:00
Jon Chambers
76389bd584
Clear would-be-persisted messages from the cache cluster, but don't store them to the database.
2020-07-30 19:14:39 -04:00
Jon Chambers
7bf8650d59
Un-manage FaultTolerantRedisCluster so it shuts down at JVM shutdown instead of Jetty shutdown.
2020-07-30 18:37:38 -04:00
Ehren Kret
7cb24dd96d
Add environment tag to datadog metric reporting
2020-07-30 18:04:16 -04:00
Ehren Kret
dee040318a
Add the host tag to datadog metric reporting
2020-07-30 18:04:16 -04:00
Jon Chambers
b93c5a9daa
Bump version to 3.71
2020-07-30 17:13:06 -04:00
Jon Chambers
baf563e46d
Temporarily disarm the actual persisting part of the message persister.
2020-07-30 17:12:37 -04:00
Jon Chambers
42910ebe14
Bump version to 3.70
2020-07-30 14:27:29 -04:00
Jon Chambers
e10246f10b
Use Dropwizard timers/histograms for persister metrics.
2020-07-30 14:27:06 -04:00
Jon Chambers
f524219d68
Bump version to 3.69
2020-07-30 12:33:11 -04:00
Jon Chambers
a9dfd88671
Start the clustered message persister at application startup.
2020-07-30 12:32:35 -04:00
Jon Chambers
61b338f464
Bump version to 3.68
2020-07-30 11:40:59 -04:00
Jon Chambers
beac73b6c8
Add a cluster-capable message persister
2020-07-30 11:39:14 -04:00
Jon Chambers
f9f93c77e2
Use UUIDs instead of phone numbers as account identifiers in clustered message cache
2020-07-30 11:39:14 -04:00
Jon Chambers
6fc1b4c6c0
Add a cluster-backed message cache.
2020-07-30 11:39:14 -04:00
Jon Chambers
639898ec07
Expand Experiment to deal with async suppliers and Optionals.
2020-07-30 11:39:14 -04:00
Jon Chambers
3d3790fdbc
Add binary execution methods to ClusterLuaScript.
2020-07-30 11:39:14 -04:00
Jon Chambers
69c8968cb0
Add byte-array-based methods to FaultTolerantRedisCluster.
2020-07-30 11:39:14 -04:00
Jon Chambers
229caea5fd
Bump version to 3.67
2020-07-29 11:00:50 -04:00
Jon Chambers
aa25fc7901
Fix UsernamesManager metric/logger names.
2020-07-29 11:00:29 -04:00
Jon Chambers
4aba493ee2
Fix the key used for database crawler workers.
2020-07-29 10:58:06 -04:00
Jon Chambers
dd7a080e2d
Bump version to 3.66
2020-07-28 15:25:16 -04:00
Jon Chambers
b9cfac5934
Introduce additional metric aggregators.
2020-07-28 15:11:51 -04:00
Brian Acton
f8e97fcc32
revise 12 hour active user fudge to 8 hours for better continuity of data from a month ago
2020-07-28 11:09:41 -07:00
Jon Chambers
d2a26d6d48
Bump version to 3.65
2020-07-28 11:49:55 -04:00
Jon Chambers
7f8f2641f6
Simplify registration lock counting by avoiding inactive accounts.
2020-07-28 11:48:20 -04:00
Jon Chambers
022dbb606f
Count registration lock versions when crawling the account database.
2020-07-28 11:48:20 -04:00
Jon Chambers
fea72b190d
Record message content size as a dimensioned distribution.
2020-07-28 11:47:56 -04:00
Jon Chambers
bce4351b4f
Bump version to 3.64
2020-07-28 10:30:14 -04:00
Jon Chambers
eea073f882
Decommission the old cache.
2020-07-28 10:29:28 -04:00
Jon Chambers
0352d413e3
Bump to version 3.63
2020-07-27 17:11:17 -04:00
Jon Chambers
56bf98d68a
Bump version to 3.62
2020-07-27 15:12:15 -04:00
Jon Chambers
fc1d88f5bb
Read exclusively from the cache cluster.
2020-07-27 15:11:40 -04:00
Jon Chambers
2b109db1b1
Bump version to 3.61
2020-07-27 12:51:26 -04:00
Jon Chambers
acbe410e0b
Remove a metric aggregator.
2020-07-27 12:50:49 -04:00
Ehren Kret
89bafea61f
Move SMS strings to configuration
2020-07-27 11:23:21 -05:00
Jon Chambers
07b7e05caa
Bump version to 3.60
2020-07-24 19:00:13 -04:00
Jon Chambers
ec072fd639
Update telemetry dependencies and resolve dependency conflicts.
2020-07-24 18:59:35 -04:00
Jon Chambers
b874c1a8a8
Bump to version 3.59
2020-07-24 17:23:06 -04:00
Jon Chambers
67b03076d7
Add a missing dependency.
2020-07-24 17:21:56 -04:00
Jon Chambers
33a0c4a9ae
Use first party metric aggregator libraries where possible.
2020-07-24 17:21:56 -04:00
Jon Chambers
e25914c3d3
Bump version to 3.58
2020-07-23 13:31:52 -04:00
Jon Chambers
4cc5999f05
Configure additional metric aggregators.
2020-07-23 13:31:19 -04:00
Jon Chambers
403aa5fd3e
Add dependencies for additional metric aggregators.
2020-07-23 13:31:19 -04:00
Jon Chambers
08f203c0c2
Bump version to 3.57
2020-07-22 14:10:14 -04:00
Jon Chambers
0fbf31ec98
Clear each cluster node individually.
2020-07-22 11:12:21 -04:00
Jon Chambers
db9b7ca447
Fix slot assignment when building a cluster for tests.
2020-07-22 11:04:10 -04:00
Jon Chambers
fc9fa2614d
Bump version to 3.56
2020-07-20 17:27:34 -04:00
Jon Chambers
eecc71c77f
Revert batch message storage. ( #95 )
2020-07-20 16:28:32 -04:00
Jon Chambers
d5f69aec10
Bump version to 3.55
2020-07-20 10:31:05 -04:00
Jon Chambers
5f898a9071
Measure inserted message batch size.
2020-07-20 10:30:29 -04:00
Jon Chambers
a08f21336a
Be explicit about transaction management.
2020-07-20 10:30:29 -04:00
Jon Chambers
215125de26
Update tests.
2020-07-20 10:30:29 -04:00
Jon Chambers
dfa94eac41
Store messages in batches.
2020-07-20 10:30:29 -04:00
Jon Chambers
5de72a74f5
Bump version to 3.54 (configuration-only change)
2020-07-15 11:34:21 -04:00
Jon Chambers
a44f0a719e
Bump version to 3.53
2020-07-14 18:47:39 -04:00
Jon Chambers
247d869a5c
De-randomize message tests to minimize flakiness.
2020-07-14 18:46:39 -04:00
Ehren Kret
b9b6e1818f
Rename SenderIdSelector to SenderIdSupplier per code review discussion
2020-07-14 10:53:48 -05:00
Ehren Kret
a7968ccc3c
Address code review comments
2020-07-14 10:53:48 -05:00
Ehren Kret
b7e0e5a356
Create a strategy class to decide which sender id to use
...
The rules around selecting sender ids can get complicated with some
countries not supporting it and others requiring pre-registration that
may result in having a different sender id for that country than
others. This strategy class handles the logic of dealing with this
expanded configuration and applying the appropriate sender id or none
when it's not appropriate to do so at all.
2020-07-14 10:53:48 -05:00
Brian Acton
e3aecb2aa9
apply a 12 hour fudge to daily user counting to account for last seen timestamp fuzzing
2020-07-09 17:43:12 -07:00
Jon Chambers
2b879ab471
Bump version to 3.52
2020-07-09 17:00:39 -04:00
Jon Chambers
116ab83b95
Include a PushType header when sending APNs notifications.
2020-07-09 16:12:20 -04:00
Jon Chambers
f24ae0fc2c
Bump version to 3.51
2020-07-09 12:31:03 -04:00
Jon Chambers
c5d0d4acd0
Revert "Move rate limiter logic to Lua scripts"
...
This reverts commit b585c6676d .
2020-07-09 12:30:25 -04:00
Jon Chambers
062bf737c2
Bump version to 3.50
2020-07-07 16:33:51 -04:00
Jon Chambers
06190286ec
Remove temporary circuit breaker suppression.
2020-07-07 16:33:05 -04:00
Jon Chambers
3bca856e87
Remove a pair of spurious SET calls in the rate limiter script.
2020-07-07 16:33:05 -04:00
Jon Chambers
b4437d9cfd
Bump version to 3.49
2020-07-07 15:18:11 -04:00
Jon Chambers
b3a778b89a
Temporarily catch and log all script execution exceptions to avoid opening the breaker.
2020-07-07 15:17:25 -04:00
Jon Chambers
dcb11f7606
Log errors from experiments.
2020-07-07 15:17:25 -04:00
Jon Chambers
933ce42d5a
Test rate limiters against a real cluster.
2020-07-07 15:17:25 -04:00
Ehren Kret
6c1ba957bd
Ensure the default alphaId configuration is an empty list rather than null
2020-07-07 10:17:40 -05:00
Ehren Kret
e021286eee
Add configuration by country for sending from alpha IDs
2020-07-07 10:17:40 -05:00
Ehren Kret
0ee7a66033
Keep trying ports until you get one lower than 55535 ( #83 )
...
* Keep trying ports until you get one lower than 55535
* Rename method and change to do...while
* Limit attempts to 11,000 to find an open redis cluster port
2020-07-07 10:12:31 -05:00
Jon Chambers
42c797ee97
Set the default log level for tests to WARN.
2020-07-07 11:05:39 -04:00
Jon Chambers
c03699fc5b
Bump version to 3.48
2020-07-06 10:11:11 -04:00
Jon Chambers
b585c6676d
Move rate limiter logic to Lua scripts
2020-07-06 10:10:13 -04:00
Jon Chambers
f5ddb0f1f8
Test ClusterLuaScript against a real Redis cluster.
2020-07-02 18:58:30 -04:00
Jon Chambers
ef97f9e738
Revert "Temporarily suspend execution of the "unlock" script."
...
This reverts commit 6aecd8d44a .
2020-07-02 18:58:30 -04:00
Jon Chambers
26a03b55de
Un-reinvent the clustered script execution wheel.
2020-07-02 18:58:30 -04:00
Jon Chambers
e9b0100b06
Bump version to 3.47
2020-07-02 11:41:15 -04:00
Jon Chambers
b93a16abae
Honor the step size set in the micrometer config.
2020-07-02 11:40:41 -04:00
Jon Chambers
ff2783d434
Fixed a goof where we were mirroring a write to the wrong key in the new cache cluster.
2020-07-02 11:40:27 -04:00
Jon Chambers
664df55525
Bump version to 3.46 (config-only change)
2020-06-30 10:48:42 -04:00
Jon Chambers
66f93148a7
Bump version to 3.45
2020-06-29 16:56:39 -04:00
Ehren Kret
25a5a8db68
Set avatar to null on Account when request is false ( #78 )
2020-06-29 15:53:31 -05:00
Jon Chambers
a68d91b54c
Resolve some test flakiness by adding a deterministic "wait" mechanism. (SERVER-86)
2020-06-29 12:24:25 -04:00
Jeff Hodges
e48afc9fdf
add GitHub Actions CI
...
This runs the tests on every PR and branch push (including master
merges). Handy for avoiding dumb compile bugs and validating changes.
2020-06-29 10:43:40 -04:00
Jon Chambers
acdefb394c
Bump version to 3.44
2020-06-26 10:23:30 -04:00
Jon Chambers
88ec3a5751
Add a counter for dead letter events.
2020-06-26 09:00:11 -04:00
Jeff Hodges
e3af0a13da
allow "+" before a timezone in request log tests
...
GitHub Actions runs in UTC where the timezone starts with a "+" instead
of our local dev machines (in PT or ET) which start with a "-" in
numeric form. So, we expand the regex to allow for those in
WebSocketRequestLogTest.
Along the way, we change from calling `matches` directly on the strings
to calling it on the `assertThat` to get better test output.
2020-06-25 17:14:53 -04:00
Jon Chambers
734dc2e37a
Don't block the Redis instance when clearing the cache.
2020-06-19 10:52:18 -04:00
Jon Chambers
06b97b91e0
Bump version to 3.43
2020-06-17 22:28:07 -04:00
Jon Chambers
6aecd8d44a
Temporarily suspend execution of the "unlock" script.
2020-06-17 22:27:02 -04:00
Jon Chambers
8a4ac3ea10
Bump version to 3.42
2020-06-17 15:46:06 -04:00
Jon Chambers
0ca123f4bc
Fix a missing mock.
2020-06-17 15:43:28 -04:00
Jon Chambers
bbf5e1fa78
Use the UA string from websocket upgrade requests if available.
2020-06-17 15:40:18 -04:00
Jon Chambers
7454e55693
Write synchronously to the cache cluster.
2020-06-17 15:38:56 -04:00
Jon Chambers
c745fe7778
Fix a poorly-mirrored cache delete operation.
2020-06-17 15:35:46 -04:00
Jon Chambers
6adcebb247
Return to just using counters instead of timers for measuring experiment outcomes.
2020-06-17 15:34:02 -04:00
Jon Chambers
4c1844e46a
Bump version to 3.41
2020-06-17 10:10:23 -04:00
Jon Chambers
38f9b8f3dd
Make write operations in AccountDatabaseCrawlerCache synchronous.
2020-06-17 10:05:43 -04:00
Jon Chambers
c2e72c7641
Bump version to 3.40
2020-06-17 09:24:29 -04:00
Jon Chambers
7faf143a97
Subdivide the account database crawler cache experiment and add logging to track down lingering disagreements.
2020-06-17 09:23:40 -04:00
Jon Chambers
e53a7f65b8
Update Dropwizard to 2.0.10.
2020-06-17 09:21:48 -04:00
Jon Chambers
21eb9df85f
Bump version to 3.39
2020-06-16 17:00:20 -04:00
Jon Chambers
17cfd4924c
Fixed a poorly-mirrored write operation to the new cluster.
2020-06-16 16:46:41 -04:00
Jon Chambers
a0bebca1e6
Extend Experiment to report more detail when results don't match.
2020-06-16 16:46:41 -04:00
Jon Chambers
75cbfa2898
Mirror unlock-via-script calls to the cache cluster.
2020-06-16 16:46:41 -04:00
Jon Chambers
58a8ed1588
Add a cluster-friendly version of LuaScript.
2020-06-16 16:46:41 -04:00
Jon Chambers
e032f8df59
Add a command for clearing the cache cluster.
2020-06-16 16:46:41 -04:00
Jon Chambers
b16e37d80a
Record a histogram of incoming message list sizes.
2020-06-12 14:43:50 -04:00
Jon Chambers
c17cc07b73
Instrument BlockingThreadPoolExecutor.
2020-06-12 14:43:50 -04:00
Jon Chambers
6f767a72a7
Add a timer for the private sendMessage method.
2020-06-12 14:43:50 -04:00
Jon Chambers
11196436e9
Time rate limiter validation calls.
2020-06-12 14:43:50 -04:00
Jon Chambers
9afc433db4
Record exceptions associated with server responses.
2020-06-11 22:08:07 -04:00
Jon Chambers
f701e3d834
Record distributions of timer values; stop recording error causes.
2020-06-11 11:50:36 -04:00
Jon Chambers
4c623ca3c5
Compare Redis reads using Lettuce's synchronous path.
2020-06-11 11:50:36 -04:00
Jon Chambers
0671f05c05
Introduce experiment comparison methods for suppliers.
2020-06-11 11:50:36 -04:00
Jon Chambers
0713da7393
Record experiment results with a timer instead of a counter.
2020-06-11 11:50:36 -04:00
Jon Chambers
d980b8cfdc
Bump version to 3.38
2020-06-09 15:46:28 -04:00
Jon Chambers
05955d0483
Check for null header values before trying to iterate through them.
2020-06-09 15:45:32 -04:00
Jon Chambers
28c765bd9a
Add an in-app-context test for websocket metrics.
2020-06-09 15:45:32 -04:00
Ehren Kret
8287317be7
Add account device ID to the prekey rate limiter
...
This limits prekey fetching per device on an account instead of on an
account level.
2020-06-09 10:20:10 -07:00
Jon Chambers
08cc67d7c5
Bump version to 3.37
2020-06-07 18:30:44 -04:00
Jon Chambers
ec858b2d4c
Set a timeout for Redis cluster operations and shut down the cluster as part of service shutdown
2020-06-07 18:27:57 -04:00
Jon Chambers
47ece983d2
Added a Redis cluster health check.
2020-06-07 18:27:11 -04:00
Jon Chambers
52310b5dd9
Compare results of reads from old and new Redis caches.
2020-06-07 18:27:11 -04:00
Jon Chambers
c2a4a2778e
Introduce the Experiment class to compare results from parallel systems.
2020-06-07 18:27:11 -04:00
Jon Chambers
1db5977e80
Mirror username deletes unconditionally.
2020-06-07 18:27:11 -04:00
Jon Chambers
1b5dc0e434
Fixed a potential issue where locks could get out of sync between Redis instances.
2020-06-07 18:27:11 -04:00
Jon Chambers
251364d8be
Bump version to 3.36
2020-06-06 21:33:25 -04:00
Moxie Marlinspike
f07f02d866
Deliver upgrade link to stale clients
2020-06-06 18:20:55 -07:00
Jon Chambers
1388103919
Mirror writes to the cache cluster.
2020-06-06 20:37:48 -04:00
Jon Chambers
fe1054d58a
Introduce a Lettuce-based fault-tolerant Redis cluster accessor.
2020-06-06 20:37:48 -04:00
Jon Chambers
ba6ac778fc
Update to Pushy v0.14.1.
2020-06-05 12:21:56 -04:00
Jon Chambers
228ffcbfce
Differentiate between websocket and "boring" HTTP traffic.
2020-05-28 12:52:49 -04:00
Jon Chambers
f18ab9e5cc
Measure traffic from websockets.
2020-05-28 12:52:49 -04:00
Jon Chambers
06c82ee87d
Celebrate the diversity of UA strings when generating tags for metrics.
2020-05-27 19:35:42 -04:00
Jon Chambers
9ba5ee8043
Move UA tag extraction into its own utility class.
2020-05-27 19:35:42 -04:00
Ehren Kret
eede4e50ca
Use hashed UUID to spread last seen updates over a full day ( #40 )
2020-05-26 13:38:52 -07:00
Moxie Marlinspike
1e7b6f78ca
Bump version to 3.29
2020-05-26 10:46:25 -07:00
Jon Chambers
aa10f63d9f
Add the timestamp using the add method.
2020-05-22 17:39:25 -04:00
Moxie Marlinspike
5b984d924f
Bump version to 3.27
2020-05-22 13:01:05 -07:00
Jon Chambers
a25af36e32
Include timestamps in all server-to-client websocket messages.
2020-05-22 15:13:39 -04:00
Jon Chambers
eb8b5e5c01
Always copy HTTP response headers to websocket responses.
2020-05-22 15:13:39 -04:00
Jon Chambers
817f057927
Inject timestamps into responses.
2020-05-22 15:13:39 -04:00
Jon Chambers
a13c44d81a
Capture request-level metrics (path, status, client platform/version).
2020-05-20 17:48:19 -04:00
Jon Chambers
45ad8f8ffb
Add the Wavefront/Micrometer reporter as a dependency and configure a registry.
2020-05-20 17:46:07 -04:00
Ehren Kret
7da9e88c0b
Add hashKey to RemoteConfig
...
This allows the percentages for different entries in remote config to
be aligned so one remote config can be a subset of another.
2020-05-13 11:08:22 -07:00
Moxie Marlinspike
674e63cd3e
Bump version to 3.26
2020-05-12 10:06:07 -07:00
Jon Chambers
1c73c91133
Report the number of days until the CDS CA cert expires as a metric so we can set an alarm.
2020-05-12 12:57:11 -04:00
Jon Chambers
b1d11d4f69
Use APNs signing keys instead of expiring certificates.
2020-05-12 12:48:28 -04:00
Jon Chambers
001a9310c3
Support device transfers (SERVER-41, SERVER-42) ( #32 )
...
This change introduces a `transfer` device capability and account creation argument in support of the iOS device transfer effort.
2020-05-12 12:23:18 -04:00
Moxie Marlinspike
4cea9023f2
Bump version to 3.25
2020-05-07 09:54:42 -07:00
Moxie Marlinspike
8ffadfa1f1
Add payment addresses on account attributes update
2020-05-07 09:52:38 -07:00
Moxie Marlinspike
39e0b8e40e
Bump version to 3.24
2020-05-07 09:52:00 -07:00
Jon Chambers
50d7929e76
Drop the GCM RECEIPT message type (unused).
2020-05-04 17:51:54 -04:00
Jon Chambers
10840b22c5
Don't let one unregistered device block receipt for others.
2020-05-04 17:51:25 -04:00
Jon Chambers
acfbab5915
Update to Pushy v0.13.11.
2020-05-04 17:50:35 -04:00
Moxie Marlinspike
9b00f65798
Bump version to 3.23
2020-04-30 13:40:42 -07:00
Ehren Kret
48c324fe86
Use a static sequence of randomness in tests
...
The RemoteConfigControllerTest#testMath unit test would occassionally
fail because randomness doesn't necessarily group into expected ranges
over a finite trial count. This changes the test to use a predefined
PRNG sequence instead of one that varies with each test so that the
test will no long randomly fail.
2020-04-29 17:31:43 -07:00
Ehren Kret
0c495e7e72
Workaround lack of internal retry on transaction rollback
...
The get endpoint for key fetching can fail if the transaction cannot
complete because of simultaneous modification. Clients currently
receive 500 from this and retry if it happens, but this test case runs
into it without retrying and then complains that not all the threads
completed successfully. This workaround adds some retry attempts.
2020-04-29 17:10:13 -07:00
Ehren Kret
50ccfee201
Allow remote config to send non-boolean values
...
This version of remote config allows non-boolean values to be returned
to clients but unfortunately limits the configuration to only one
value or another. There is no way to configure more than two values
for the same key with this setup.
2020-04-29 10:51:10 -07:00
Moxie Marlinspike
f39a5f6e68
Bump version to 3.22
2020-04-28 09:01:50 -07:00
Moxie Marlinspike
f1f2efc4f8
Update dropwizard to 2.0.8
2020-04-28 09:01:29 -07:00
Moxie Marlinspike
fa739c9594
Bump zkgroups to 0.7.0
2020-04-28 08:58:57 -07:00
Moxie Marlinspike
95f0ce1816
Support for advertising payment addresses on profile
2020-04-22 12:32:53 -07:00
Moxie Marlinspike
3432529f9c
Bump version to 3.21
2020-04-22 12:16:59 -07:00
Moxie Marlinspike
a32c8fabed
Temporarily move GV2 capability from allMatch to anyMatch
2020-04-20 13:42:36 -07:00
Moxie Marlinspike
6a11501184
Bump zkgroups to 0.6.0
2020-04-20 13:41:54 -07:00
Moxie Marlinspike
7ca228d466
Bump version to 3.20
2020-04-13 10:37:33 -07:00
Moxie Marlinspike
09a00f7d42
Bump dropwizard to 2.0.7
2020-04-13 10:37:12 -07:00
Moxie Marlinspike
eac4cd15e3
Bump version to 3.19
2020-04-09 20:36:54 -07:00
Moxie Marlinspike
c03fd4645d
Bump zkgroups to 0.5.0
2020-04-09 20:36:34 -07:00
Moxie Marlinspike
911ddbe1c8
Bump version to 3.18
2020-04-09 11:45:43 -07:00
Moxie Marlinspike
b76c7a4824
Update zkgroups to 0.4.2
2020-04-09 11:21:58 -07:00
Moxie Marlinspike
1408ac77f9
Make storageCapable a boolean result rather than an auth token
2020-04-09 10:19:49 -07:00
Moxie Marlinspike
c641abc7cd
Bump version to 3.17
2020-04-06 11:23:11 -07:00
Ehren Kret
7e97d10ae1
Fix account dropping new style registration locks
2020-04-06 09:27:23 -07:00
Ehren Kret
56b134facd
Change attachment key from long to base64 of 15 bytes
2020-04-02 10:20:42 -07:00
Ehren Kret
41286650cc
Create attachments V3 endpoint for CDN2 on GCP
...
In preparation for resumable uploads, this creates a separate
attachment authorization endpoint that creates a signed URL for
accessing GCP Storage through Signal's CDN2. This should allow Signal
clients to do byte-level resume of media uploads.
2020-04-02 10:20:42 -07:00
Ehren Kret
2aca007a59
Remove references to newer bouncy castle from tests
...
This unifies the entire workspace on one instance of bouncy castle
until such time as the entire workspace is ready to upgrade to BC 1.64
2020-04-02 10:20:01 -07:00
Moxie Marlinspike
39f5c00f7e
Bump version to 3.16
2020-04-02 10:11:05 -07:00
Moxie Marlinspike
7eab431e5d
Bump version to 3.15
2020-03-27 11:38:42 -07:00
Moxie Marlinspike
678b15e759
Bump version to 3.14
2020-03-27 11:05:38 -07:00
Moxie Marlinspike
3c8e7c6c10
Add storage capability and return KBS creds on rereg w/ storage set
2020-03-27 10:45:48 -07:00
Moxie Marlinspike
bb7433ab40
Bump version to 3.13
2020-03-16 17:45:05 -07:00
Moxie Marlinspike
4f64513c83
Break out redis pubsub into dedicated cluster
2020-03-16 17:44:42 -07:00
Moxie Marlinspike
4ee47b6b1b
Bump version to 3.10
2020-03-14 19:08:00 -07:00
Moxie Marlinspike
350f5ccb3c
Account for fronted regions
2020-03-14 19:07:42 -07:00
Moxie Marlinspike
0d3f94860b
Bump version to 3.09
2020-03-14 18:48:35 -07:00
Moxie Marlinspike
3d7489563d
Bump version to 3.08
2020-03-14 18:10:14 -07:00
Moxie Marlinspike
ac1153c7cf
Additional limits
2020-03-14 18:10:07 -07:00
Moxie Marlinspike
d4c4220299
Bump version to 3.07
2020-03-14 16:30:38 -07:00
Moxie Marlinspike
3b1672a4a7
Update zkgroups to 0.4.0
2020-03-14 16:30:13 -07:00
Moxie Marlinspike
009f81a9a6
Update to dropwizard 2.x
2020-03-14 16:30:13 -07:00
Moxie Marlinspike
69285f28ad
Bump version to 3.06
2020-03-12 13:31:00 -07:00
Moxie Marlinspike
3593df0e73
Bump version to 3.00
2020-02-25 12:26:01 -08:00
Moxie Marlinspike
8b10b1dc62
Remove tombstone column from keys table
2020-02-25 12:25:34 -08:00
Moxie Marlinspike
0db2a81e4e
Bump version to 2.99
2020-02-23 18:42:14 -08:00
Moxie Marlinspike
9fe64008c2
Bump version to 2.98
2020-02-23 17:59:58 -08:00
Moxie Marlinspike
077c259d5b
Migrate keys to accountsdb
2020-02-23 17:59:30 -08:00
Moxie Marlinspike
879bd62468
Bump version to 2.96
2020-02-07 11:53:53 -08:00
Moxie Marlinspike
e5746c19cf
Support for GV2 capability flag
2020-02-07 11:53:28 -08:00
Moxie Marlinspike
29814d7458
Bump version to 2.95
2020-01-23 09:46:28 -08:00
Moxie Marlinspike
e399f9e851
Generate external creds for KBS based on UUID
2020-01-22 13:47:33 -08:00
Moxie Marlinspike
e4e20c2d25
Add support for UUID buckets in remote config
2020-01-22 11:28:08 -08:00
Moxie Marlinspike
08a70664f4
Support for getting/setting remote config variables
2020-01-21 13:38:58 -08:00
Moxie Marlinspike
9d77f8dcd2
Bump version to 2.94
2020-01-21 13:04:30 -08:00
Moxie Marlinspike
1d76c644cb
Update version of embedded pg
2020-01-21 13:03:55 -08:00
Moxie Marlinspike
75fc35ee4b
Parameterize access to zk operations
2020-01-21 11:29:08 -08:00
Moxie Marlinspike
ba3102d667
Support for versioned profiles
...
Includes support for issuing zkgroup auth credentials
2020-01-21 11:04:06 -08:00
Moxie Marlinspike
a94fc22659
Bump version to 2.93
2020-01-13 18:55:31 -08:00
Moxie Marlinspike
8a9fed64f2
Support for first/last profile name length
2020-01-13 18:55:04 -08:00
Moxie Marlinspike
4468b5a2e4
Bump version to 2.92
2019-12-19 12:01:39 -08:00
Moxie Marlinspike
71c7e30548
Increase max size for sticker manifest
2019-12-19 10:29:47 -08:00
Moxie Marlinspike
940bd55079
Update libphonenumber to 8.11.0
2019-12-18 17:32:39 -08:00
Moxie Marlinspike
f2aa40c772
Bump version to 2.91
2019-12-18 17:15:00 -08:00
Moxie Marlinspike
886db1a2c3
Bump max sticker count to 201
2019-12-18 17:08:51 -08:00
Moxie Marlinspike
c8979940a8
Bump version to 2.90
2019-11-20 13:55:52 -08:00
Moxie Marlinspike
b4c06db031
Make redis failures on write-back retrieve non-fatal
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
82486a873a
Delete old username mapping when setting new one
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
99760ba6a0
Put UUID on server-generated delivery receipt
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
2b987e6e93
Usernames can't start with numbers
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
523134f24b
Username reservation table
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
99c228dd6d
Support for setting and looking up usernames
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
10f80f9a4f
Bump version to 2.89
2019-11-19 11:30:16 -08:00
Moxie Marlinspike
44d38a00d4
Fix capabilities NPE
2019-11-14 13:36:40 -08:00
Moxie Marlinspike
c623f70caa
Add support for capabilities
2019-11-14 13:36:40 -08:00
Moxie Marlinspike
62a10047ca
Bump version to 2.88
2019-11-05 14:45:24 -08:00
Jeffrey Griffin
f16b783378
return backup, not storage, credentials for reg lock
2019-11-05 10:36:33 -08:00
Moxie Marlinspike
95c55a8ab3
Bump version to 2.87
2019-10-30 19:33:01 -07:00
Moxie Marlinspike
a8c932ffe4
Update dropwizard to 1.3.16
2019-10-30 19:32:40 -07:00
Brian Acton
be4b75932b
since onCrawlChunk() is now protected, we need to invoke timeAndProcessChunk() in our unit tests
2019-10-29 18:20:03 -07:00
Jeffrey Griffin
04d7f3a5dc
allow disabled accounts to get KBS auth
2019-10-29 16:50:47 -07:00
Brian Acton
eddfacd0f4
add timers to the account crawler listeners
2019-10-25 21:30:48 -07:00
Moxie Marlinspike
cba3c20d5c
Bump version to 2.86
2019-10-18 11:31:08 -07:00
Moxie Marlinspike
507783ed8d
Bump version to 2.85
2019-10-09 12:32:09 -07:00
Moxie Marlinspike
06c98ed229
Bump version to 2.84
2019-08-27 15:02:41 -07:00
Jeffrey Griffin
69742839c0
uuid-based account crawler
2019-08-27 14:42:14 -07:00
Moxie Marlinspike
bb52049bf4
Bump version to 2.83
2019-08-27 14:36:58 -07:00
Moxie Marlinspike
20b5f0e681
Reset cache index
2019-08-27 14:08:50 -07:00
Moxie Marlinspike
3803b8f284
Fix for jedis pool deadlock
...
1) Remove nested pool checkouts
2) Add a max wait so it won't block forever on deadlock
2019-08-27 14:02:42 -07:00
Moxie Marlinspike
e3daf743f2
Fix new account calculation
2019-08-27 11:14:11 -07:00
Moxie Marlinspike
ae5da74bb1
Update banner
2019-08-26 16:08:30 -07:00
Moxie Marlinspike
05f37ec2bc
Bump version to 2.76
2019-08-26 14:53:54 -07:00
Jeffrey Griffin
cf78047830
revert to phone number-based account crawler
2019-08-26 14:00:15 -07:00
Moxie Marlinspike
284428a45a
Support for authentication to KBS
2019-08-26 11:09:54 -07:00
Moxie Marlinspike
79f2efdfd9
Make UUID in sealed sender certificate optional for buggy clients
2019-08-26 11:09:54 -07:00
Jeffrey Griffin
07822b371f
replicate uuids to contact discovery
2019-08-26 11:09:54 -07:00
Moxie Marlinspike
7a3a385569
Support for UUID based addressing
2019-08-26 11:09:54 -07:00
Moxie Marlinspike
0f8cb7ea6d
Bump version to 2.75
2019-08-07 20:23:13 -07:00
Moxie Marlinspike
fa7ae376e0
Update dropwizard to 1.3.14
2019-08-07 20:22:48 -07:00
Moxie Marlinspike
8c223056fe
Bump version to 2.74
2019-08-01 14:15:19 -07:00
Moxie Marlinspike
e57f78cf90
Add meter for GCM challenge transmissions
2019-08-01 13:30:49 -07:00
Moxie Marlinspike
ebd79d388b
Bump version to 2.73
2019-07-30 17:54:56 -07:00
Moxie Marlinspike
10724fee04
Support for sticker pack uploads
2019-07-24 16:29:56 -07:00
Moxie Marlinspike
0d46f85ead
Bump version to 2.72
2019-07-24 08:58:36 -07:00
Moxie Marlinspike
4727ba3b51
Update dropwizard to 1.3.13
2019-07-24 08:58:12 -07:00
Moxie Marlinspike
eb15a3d849
Bump version to 2.71
2019-07-11 19:57:55 -07:00
Moxie Marlinspike
4d09bae09b
Add some logging
2019-07-11 19:57:31 -07:00
Moxie Marlinspike
56ad177d4a
Bump version to 2.70
2019-07-11 18:58:55 -07:00
Moxie Marlinspike
11902dec3c
Support for v2 registration lock
2019-07-11 18:15:14 -07:00
Moxie Marlinspike
4fdbe9b9ff
Support for push preauth
2019-07-11 18:15:10 -07:00
Moxie Marlinspike
18037bb484
Bump version to 2.69
2019-07-11 17:31:37 -07:00
Moxie Marlinspike
a6e7e30177
Add requester to recaptcha validation
2019-07-11 17:31:34 -07:00
Moxie Marlinspike
288285f22b
Bump version to 2.68
2019-06-19 17:16:43 -07:00
Moxie Marlinspike
5b69ff7e94
Break out keys database and accounts database
2019-06-19 17:16:37 -07:00
Moxie Marlinspike
fa2d838e60
Bump version to 2.67
2019-06-12 12:33:13 -07:00
Moxie Marlinspike
bc0c6be4c5
We don't need to support disabled accounts for the signed PK API
2019-06-12 12:32:15 -07:00
Moxie Marlinspike
ef767728ac
Bump version to 2.66
2019-06-11 09:29:38 -07:00
Moxie Marlinspike
f56d219882
Update dropwizard to 1.3.12
2019-06-11 09:29:30 -07:00
Moxie Marlinspike
32afccb16d
Bump version to 2.65
2019-06-10 12:38:50 -07:00
Moxie Marlinspike
b4f528039f
Multiplex GCM messages across 10 HttpClient instances
...
The underlying HttpClient implementation will not create a new
connection when the max sessions for an HTTP/2 connection have
been reached.
2019-06-10 12:37:53 -07:00
Moxie Marlinspike
d6b470ffbe
Bump version to 2.64
2019-06-07 10:07:21 -07:00
Moxie Marlinspike
3c6b418ca8
Publish fcm retry metrics
2019-05-30 11:05:05 -07:00
Moxie Marlinspike
105a38a7db
Update gcm-sender-async to use jdk11 httpclient
2019-05-30 10:46:40 -07:00
Moxie Marlinspike
e6f25b9c5e
Bring gcm-sender-async in as a module
2019-05-29 11:03:33 -07:00
Moxie Marlinspike
6e0b956e61
Only set the uninstall feedback timestamp when it's zero
...
Otherwise each send will update the timestamp, preventing it from
aging out to the point where the cleaner will pick it up.
2019-05-26 14:27:30 -07:00
Moxie Marlinspike
86af14ad71
Bump version to 2.63
2019-05-10 10:48:08 -07:00
Moxie Marlinspike
a029768d24
Reenable account cleaner
2019-05-10 10:42:42 -07:00
Moxie Marlinspike
e0b85131bd
Bump version to 2.62
2019-05-07 18:14:55 -07:00
Moxie Marlinspike
4d9c9206cf
Delay processing FCM uninstalled feedback
...
Check to make sure client is not still active before unregistering,
since FCM feedback seems to be often erroneous
2019-05-07 10:04:22 -07:00
Moxie Marlinspike
92ca8862e1
Bump version to 2.61
2019-05-06 14:49:59 -07:00
Moxie Marlinspike
b77bc28a79
Revert "Update dropwizard to 1.3.10"
...
This reverts commit a88e6ec534 .
2019-05-06 14:28:46 -07:00
Moxie Marlinspike
b5eca401c6
Bump version to 2.60
2019-05-06 13:38:35 -07:00
Moxie Marlinspike
a88e6ec534
Update dropwizard to 1.3.10
2019-05-06 10:42:49 -07:00
Moxie Marlinspike
35116f9229
Clean up concepts of enabled account state
...
1) Rename "active" methods to be "enabled," since they aren't
really about "activity."
2) Make authentication fail if a device or account is in dissabled
state.
3) Let some controllers authenticate accounts that are in a
disabled state.
2019-05-04 12:31:50 -07:00
Moxie Marlinspike
fe66a59618
Bump version to 2.59
2019-05-03 12:15:24 -07:00
Moxie Marlinspike
a1f90cd39b
Temporarily disable account cleaner
2019-05-03 12:09:01 -07:00
Moxie Marlinspike
743975db52
Bump version to 2.58
2019-05-03 11:55:54 -07:00
Moxie Marlinspike
45dc7459b8
Temporarily disable GCM unregistered feedback
2019-05-03 11:51:21 -07:00
Moxie Marlinspike
ff3056332e
Bump version to 2.57
2019-05-03 11:24:30 -07:00
Jeffrey Griffin
6877b663f1
enable up to 40 account updates per chunk in AccountCleaner
2019-05-03 10:58:57 -07:00
Jeffrey Griffin
3c69f81a10
expire accounts explicitly
2019-05-02 21:14:57 -07:00
Jeffrey Griffin
d316d57e5d
fix DirectoryController tests
2019-05-02 19:20:23 -07:00
Jeffrey Griffin
92eddf8eb6
Directory feedback v3
2019-05-02 15:49:27 -07:00
Moxie Marlinspike
109a5b4748
Bump version to 2.55
2019-05-02 15:06:12 -07:00
Moxie Marlinspike
0c81556b90
Switch websocket-resources from ListenableFuture to CompletableFuture
2019-05-02 15:05:44 -07:00
Moxie Marlinspike
7e4b572699
Bump version to 2.54
2019-05-01 14:39:20 -07:00
Moxie Marlinspike
d72828b3f4
Fix assembly for multi-module
2019-05-01 14:02:18 -07:00
Moxie Marlinspike
9220f4d829
Add websocket-resources as a module
2019-05-01 13:19:15 -07:00
Moxie Marlinspike
66917cd2c0
Add some dependency exclusions
2019-05-01 13:19:15 -07:00
Moxie Marlinspike
d0d375aeb7
Break out into a multi-module project
2019-05-01 13:19:11 -07:00
Moxie Marlinspike
b41dde777e
Bump version to 2.52
2019-05-01 12:16:52 -07:00
Moxie Marlinspike
d3dcd39f61
Replace Twilio SDK with Java 11 HttpClient
2019-05-01 12:08:37 -07:00
Moxie Marlinspike
4121cae1d6
Bump version to 2.51
2019-04-22 12:08:36 -07:00
Moxie Marlinspike
341138b731
Update json metrics reporter to use HttpClient
2019-04-22 10:55:48 -07:00
Moxie Marlinspike
527c3996ae
Bump version to 2.50
2019-04-22 09:12:12 -07:00
Moxie Marlinspike
305b4148bd
Support for accessing attachments via CDN
2019-04-18 10:52:37 -07:00
Moxie Marlinspike
07c22ed5bc
Bump version to 2.49
2019-04-09 16:32:19 -07:00
Moxie Marlinspike
c2fba6b1cf
Support for auto-block in abusive host rules
2019-04-09 16:05:03 -07:00
Moxie Marlinspike
da87059041
Bump version to 2.48
2019-04-08 10:48:01 -07:00
Moxie Marlinspike
0e300df68c
Support for circuit breaker on database access
2019-04-05 13:53:17 -07:00
Moxie Marlinspike
6a9c4cf8cc
Bump version to 2.47
2019-04-05 12:32:38 -07:00
Moxie Marlinspike
1bebd5488a
Update to JDK 11
2019-04-04 14:54:05 -07:00
Moxie Marlinspike
bb354e4941
Bump version to 2.46
2019-04-04 09:43:20 -07:00
Moxie Marlinspike
0b5053d49a
Add a prefix limiter
2019-04-04 09:43:05 -07:00
Moxie Marlinspike
b3a1e6d0a5
Bump version to 2.45
2019-04-03 20:19:11 -07:00
Moxie Marlinspike
457459671c
Support for timing jdbi3 queries
2019-04-02 21:44:54 -07:00
Moxie Marlinspike
20f09e6c6e
Update to JDBIv3
2019-04-02 14:23:34 -07:00
Moxie Marlinspike
944e1d9698
Remove unused directory command
2019-04-01 18:25:49 -07:00
Moxie Marlinspike
e8f795763b
Bump version to 2.42
2019-04-01 17:00:00 -07:00
Moxie Marlinspike
1d11683ce8
Support for circuit breaker on redis pools
2019-04-01 16:59:32 -07:00
Moxie Marlinspike
cca4258887
Bump version to 2.41
2019-03-29 14:47:42 -07:00
Moxie Marlinspike
9999321400
Support for registration recaptcha
2019-03-29 14:47:35 -07:00
Moxie Marlinspike
3de3fc00ce
Delete old hystrix stuff
2019-03-28 17:49:41 -07:00
Moxie Marlinspike
2debb32098
Bump version to 2.40
2019-03-28 15:34:03 -07:00
Moxie Marlinspike
e49d7b4ec2
Update dropwizard to 1.3.9
2019-03-28 13:26:05 -07:00
Moxie Marlinspike
c009a56825
Bump version to 2.39
2019-03-27 21:25:24 -07:00
Moxie Marlinspike
c75dada340
Auto serializable transaction retry
2019-03-27 21:24:49 -07:00
Moxie Marlinspike
890b0ac301
Eliminate last vestiges of "last resort" key stuff
2019-03-27 20:19:10 -07:00
Moxie Marlinspike
77142eb2df
Remove deprecated periodic stats command
2019-03-26 09:43:32 -07:00
Moxie Marlinspike
1185fad75c
Bump version to 2.38
2019-03-22 22:54:35 -07:00
Moxie Marlinspike
7463652345
Add eviction meter
2019-03-22 22:54:21 -07:00
Moxie Marlinspike
d63309ae51
Bump version to 2.37
2019-03-22 22:15:33 -07:00
Moxie Marlinspike
40bac000ab
Evict APN retry job after 90 days unseen
2019-03-22 22:14:52 -07:00
Moxie Marlinspike
dac9cee7ca
Revert "expire accounts explicitly"
...
This reverts commit 9a4986f189 .
2019-03-22 22:11:40 -07:00
Moxie Marlinspike
ef4c0c529a
Bump version to 2.36
2019-03-22 21:49:11 -07:00
Jeffrey Griffin
9a4986f189
expire accounts explicitly
2019-03-22 21:45:56 -07:00
Moxie Marlinspike
afa674e2ea
Add a created field to the apn retry hash info, increase max interval
2019-03-22 21:44:41 -07:00
Moxie Marlinspike
8277c74c5b
Bump version to 2.35
2019-03-22 20:28:43 -07:00
Moxie Marlinspike
b3c615576e
Update apns library, remove retrying executor
2019-03-22 20:27:33 -07:00
Moxie Marlinspike
6610a29422
Bump version to 2.34
2019-03-22 19:37:26 -07:00
Moxie Marlinspike
67b0f14be6
Disable the rest of directory feedback method temporarily
2019-03-22 19:32:10 -07:00
Moxie Marlinspike
15bc5b5b5d
Bump version to 2.33
2019-03-22 18:58:02 -07:00
Moxie Marlinspike
57d594acb0
Temporarily remove CDS exception logging
2019-03-22 18:57:41 -07:00
Moxie Marlinspike
e4aa761098
Bump version to 2.32
2019-03-22 17:46:33 -07:00
Moxie Marlinspike
40aa685aba
Add logging on APNs exception
2019-03-22 17:46:07 -07:00
Moxie Marlinspike
ed766484d2
Don't retry APN on bad device token
2019-03-22 17:40:06 -07:00
Moxie Marlinspike
a5f844bc7d
Temporarily revert ECS commits
2019-03-22 12:36:09 -07:00
Moxie Marlinspike
97bd9b6381
Bump version to 2.31
2019-02-22 17:47:03 -08:00
Moxie Marlinspike
ca8f2f5734
Bump version to 2.30
2019-02-22 17:47:03 -08:00
Moxie Marlinspike
bcaaf2bb13
Update jar plugin
2019-02-22 17:47:03 -08:00
Moxie Marlinspike
23128b2e53
Bump vesion to 2.29
2019-02-22 17:47:03 -08:00
Moxie Marlinspike
5fc0e4a071
No need for shade or assembly any more
2019-02-22 17:46:45 -08:00
bauer
d7d143b97f
POM Cleanup
...
- Updated properties for ecr.repository, this should now be set in an external settings file or in the user's ~/.m2/settings.xml file.
- Bumped ECS plugin version.
- Added sonatype snapshot plugin repo.
2019-02-22 17:46:45 -08:00
bauer
4fe25da30b
Added dockerfile.
2019-02-22 17:46:45 -08:00
bauer
74c8a199f7
Added ECS to pom.xml.
2019-02-22 17:46:45 -08:00
Brian Acton
5f4a2ec4e7
Bump version to 2.28
2019-02-08 18:57:36 -08:00
Jeffrey Griffin
56f451b30f
add directory feedback "reason"
2019-02-08 18:56:36 -08:00
Brian Acton
1683c8e963
Bump version to 2.27
2019-02-08 18:52:29 -08:00
Brian Acton
3091a93a52
full impl of database restart
2019-02-08 18:50:03 -08:00
Moxie Marlinspike
f18d310348
Bump version to 2.26
2019-01-29 14:31:21 -08:00
Moxie Marlinspike
228bdf74a4
Add notes column to abusive_host_rules
2019-01-29 14:30:59 -08:00
Moxie Marlinspike
51a1977243
Bump version to 2.25
2019-01-24 17:55:11 -08:00
Moxie Marlinspike
e201344ccd
Fix for inactive auth problem
2019-01-24 17:48:04 -08:00
Moxie Marlinspike
f630ccb134
Bump version to 2.24
2019-01-23 10:19:34 -08:00
Moxie Marlinspike
3a100702e8
Bump version to 2.23
2019-01-22 13:25:06 -08:00
Moxie Marlinspike
fa0745e226
Don't allow secondary devices to resurrect inactive device status
2019-01-22 13:25:00 -08:00
Moxie Marlinspike
e5a89946f6
Bump verson to 2.22
2019-01-21 22:26:31 -08:00
Moxie Marlinspike
276ba2cd8e
Update dropwizard, gcm-sender-async
2019-01-21 22:26:19 -08:00
Moxie Marlinspike
05a55f4a43
Bump version to 2.21
2019-01-17 14:38:57 -08:00
Moxie Marlinspike
37a4e8a4aa
No longer need to overload fetchesMessages
2019-01-17 10:37:37 -08:00
Moxie Marlinspike
3776292278
Remove unneeded logging
2019-01-10 11:14:44 -08:00
Moxie Marlinspike
a9bba9be2b
Bump version to 2.20
2019-01-10 11:14:36 -08:00
Moxie Marlinspike
92ee0a5227
Validate client requesting certificate has identity key
2019-01-10 10:27:27 -08:00
Moxie Marlinspike
052fd35c72
Remove duplicate number entry
2019-01-10 10:24:20 -08:00
Brian Acton
5e3357d062
Bump version to 2.19
2019-01-09 18:17:36 -08:00
Moxie Marlinspike
9e2a55edc2
Saving space too soon, has to be done in two phases
2019-01-09 18:09:37 -08:00
Brian Acton
29d8efd26e
Bump version to 2.18
2019-01-09 17:13:18 -08:00
Brian Acton
4b8608906a
tally active users by time interval by platform and by country
...
1) refactor Directory Reconciler and pull out AccountDatabaseCrawler class
2) implement ActiveUserCounter to tally daily, weekly, monthly, etc active use
3) rework and simplify the crawl and sleep logic
4) move chunk interval and chunk size configuration options out of directory section and into accountDatabaseCrawler section
2019-01-09 17:06:54 -08:00
Jeffrey Griffin
dbfe4fd5ac
replicate directory updates on GCM/APN token & signed prekey changes
2019-01-09 17:06:54 -08:00
Jeffrey Griffin
266f1c3a49
separate directory feedback by master device platform
2019-01-09 17:06:54 -08:00
Moxie Marlinspike
6ce686ab9c
Transparent data controller
2019-01-09 17:06:54 -08:00
Moxie Marlinspike
ea38645493
Add api endpoint for deleting deprecated signaling key
2019-01-09 13:56:02 -08:00
Moxie Marlinspike
a929aaca04
Bump version to 2.17
2019-01-09 13:48:08 -08:00
Moxie Marlinspike
5090c07846
Update constraints on account attributes name
2019-01-04 00:21:49 -08:00
Moxie Marlinspike
8eb6fc8343
Bump version to 2.16
2018-12-24 18:11:49 -08:00
Moxie Marlinspike
7da7bec241
Do more thorough phone number validation
2018-12-24 18:11:43 -08:00
Moxie Marlinspike
a69789d572
Bump version to 2.15
2018-12-21 17:02:36 -08:00
Moxie Marlinspike
172bc81dd2
Add some meters
2018-12-21 16:44:20 -08:00
Moxie Marlinspike
65234a5a9a
Add support for multiple forwarded headers
2018-12-21 16:41:33 -08:00
Moxie Marlinspike
495481725a
Bump version to 2.14
2018-12-20 11:46:04 -08:00
Moxie Marlinspike
88353e8748
Support fallback to default language without country-specific locale
2018-12-20 10:36:51 -08:00
Moxie Marlinspike
939c46fafd
Bump version to 2.13
2018-12-20 09:07:22 -08:00
Moxie Marlinspike
3145be12c0
Make signaling key optional in account attributes
2018-12-19 12:47:43 -08:00
Moxie Marlinspike
4cfb599165
Bump version to 2.12
2018-12-19 12:47:27 -08:00
Moxie Marlinspike
30e834744d
Additional registration metrics
2018-12-18 09:34:29 -08:00
Moxie Marlinspike
c95a0c86b3
Bump version to 2.10
2018-12-17 15:51:34 -08:00
Moxie Marlinspike
2daabd000f
Add support for host filtering
2018-12-17 14:46:40 -08:00
Moxie Marlinspike
b97fd17146
Bump version to 2.09
2018-12-13 12:07:21 -08:00
Moxie Marlinspike
5987330e59
Add android-ng sms verification text, remove old twiml
2018-12-12 13:59:58 -08:00
Moxie Marlinspike
5903475f4a
Include endpoint for device name
2018-12-12 13:47:17 -08:00
Moxie Marlinspike
0c3dc3dea2
Support for localized voice verification
2018-12-07 14:39:07 -08:00
Moxie Marlinspike
c2f2146872
Deprecate old signaling key concept
2018-12-07 14:32:44 -08:00
Moxie Marlinspike
05087a833c
Bump version to 2.05
2018-12-07 14:32:44 -08:00
Moxie Marlinspike
c6eb306691
Add rate limiting
2018-12-07 14:32:40 -08:00
Moxie Marlinspike
a3545ce551
Bump version to 2.02
2018-11-27 12:45:37 -08:00
Moxie Marlinspike
5a6aef7a1d
Fix jdk test problems
2018-11-27 12:00:31 -08:00
Moxie Marlinspike
585bbf3987
Add some meters and reorder limits
2018-11-27 12:00:09 -08:00
Moxie Marlinspike
df9bd21f55
Bump version to 2.00
2018-11-06 05:21:08 -08:00
Moxie Marlinspike
feb7cd7bbf
Remove hystrix from account manager
2018-11-06 05:20:47 -08:00
Moxie Marlinspike
79c05c37dd
Update hystrix command names
2018-11-03 06:15:42 -07:00
Moxie Marlinspike
1dd3766c5f
Bump version to 1.98
2018-11-01 03:16:46 -07:00
Moxie Marlinspike
54a41b4f0a
Reorganize account manager timers
2018-11-01 03:16:29 -07:00
Moxie Marlinspike
dc691daf54
Bump version to 1.97
2018-11-01 03:00:54 -07:00
Moxie Marlinspike
768b52e517
Add timed metrics to accounts manager
2018-11-01 03:00:36 -07:00
Moxie Marlinspike
bb0d26e116
Bump version to 1.96
2018-11-01 01:35:34 -07:00
Moxie Marlinspike
deef167cb2
Make hystrix command keys explicit
2018-11-01 01:35:13 -07:00
Moxie Marlinspike
c5767a280e
Bump version to 1.95
2018-11-01 01:07:31 -07:00
Moxie Marlinspike
ce5f73a5a6
Specify SQS region
2018-11-01 01:05:20 -07:00
Moxie Marlinspike
fedfc66403
Initial hystrix support
2018-11-01 01:05:20 -07:00
Moxie Marlinspike
27042dae4d
Update valid phone number ranges
...
Closes #86
2018-10-29 07:05:23 -07:00
Alex Newman
0877c4cb29
Delete Procfile
...
Closes #91
2018-10-29 06:59:42 -07:00
Moxie Marlinspike
098ea0f405
Bump version to 1.94
2018-10-18 05:08:46 -07:00
Moxie Marlinspike
de86376724
Update gcm sender version
2018-10-18 04:23:40 -07:00
Moxie Marlinspike
7fc4d8a172
Update dropwizard to 1.3.7
2018-10-18 04:23:40 -07:00
Moxie Marlinspike
ab276a6a61
Add support for online only delivery
2018-10-18 04:23:40 -07:00
Moxie Marlinspike
7e026a7072
Secret sender
2018-10-18 04:23:40 -07:00
Moxie Marlinspike
8513b6fbd5
Bump version to 1.92
2018-10-04 10:42:23 -07:00
Moxie Marlinspike
ee6785eff9
Normalized migration result, clean up
2018-10-04 10:41:53 -07:00
Moxie Marlinspike
a341a20e2c
Bump version to 1.91
2018-09-20 11:44:44 -07:00
Moxie Marlinspike
fefadaebfa
Correctly replicate delete events to directory
2018-09-20 11:44:17 -07:00
Jeffrey Griffin
777d77db53
Bump version to 1.90
2018-09-20 00:40:31 -07:00
Jeffrey Griffin
8d72515a30
Use config option to tune reconciliation instead of auto-tuning
...
the COUNT query on the accounts db is too heavyweight and risky to justify an auto-tuning reconciliation cycle
2018-09-20 00:40:10 -07:00
Jeffrey Griffin
7a262eac12
Bump version to 1.89
2018-09-19 10:52:38 -07:00
Jeffrey Griffin
1cd0abf415
Rename member in DirectoryReconciler for clarity
2018-09-19 10:45:22 -07:00
Brian Acton
10575d80ad
Contact Discovery Service
2018-09-18 11:17:12 -07:00
Moxie Marlinspike
15cf010e44
Bump version to 1.88
2018-07-09 10:33:37 -07:00
Moxie Marlinspike
e26e383bd7
Support for vpush only retries
2018-07-09 09:59:40 -07:00
Moxie Marlinspike
6652f96349
Bump version to 1.87
2018-05-04 02:20:42 -07:00
Moxie Marlinspike
3b2eacfc8e
Remove dependency
2018-05-04 02:20:29 -07:00
Moxie Marlinspike
3a4cdfd7ca
Bump version to 1.86
2018-05-04 01:23:58 -07:00
Moxie Marlinspike
2a665f9d92
Update network logging dependency
2018-05-04 01:23:33 -07:00
Moxie Marlinspike
cdea1d5545
Bump version to 1.84
2018-05-03 09:23:03 -07:00
Moxie Marlinspike
a577c2d859
Update dropwizard to 1.3.1
2018-05-03 09:22:36 -07:00
Moxie Marlinspike
8f74e83d83
Bump version to 1.83
2018-04-27 14:04:44 -07:00
Moxie Marlinspike
4e9bcd0d1f
Don't rate limit sync messages
2018-04-27 14:04:09 -07:00
Moxie Marlinspike
bc29495dd0
Bump version to 1.82
2018-04-27 12:31:44 -07:00
Moxie Marlinspike
5df598fd56
Update sample config
2018-04-27 12:31:31 -07:00
Moxie Marlinspike
8ddc688c13
Bump version to 1.81
2018-04-26 11:19:16 -07:00
Moxie Marlinspike
49dad3099a
Support for replicated redis clusters
2018-04-26 09:51:51 -07:00
Brian Acton
90ecc5c13b
bump version to 1.80
2018-04-16 13:48:00 -07:00
Moxie Marlinspike
9b31e4f385
Bump version to 1.79
2018-04-12 15:13:18 -07:00
Moxie Marlinspike
9923a07c25
Support for messagedb caching
2018-04-12 15:13:05 -07:00
Moxie Marlinspike
35d6bfb3a8
Update readme
...
Closes #87
2018-04-04 10:01:43 -07:00
Moxie Marlinspike
aa4a567160
Bump version to 1.72
2018-03-15 10:10:14 -07:00
Moxie Marlinspike
dc3ca6db4f
Bump version to 1.71
2018-03-14 16:54:05 -07:00
Moxie Marlinspike
86389a5fb3
Don't rate limit null pin submissions
2018-03-13 17:33:19 -07:00
Moxie Marlinspike
d7140eac35
Bump version to 1.70
2018-03-05 15:07:52 -08:00
Moxie Marlinspike
d2b81cd359
Bump version to 1.69
2018-03-05 14:54:55 -08:00
Moxie Marlinspike
18bab4aa7d
Support for registration lock
2018-03-02 11:05:59 -08:00
Moxie Marlinspike
c0bbebd532
Bump version to 1.68
2018-02-26 14:21:59 -08:00
Moxie Marlinspike
acbc2fd490
Remove pending messages on device unlink
2018-02-26 14:21:49 -08:00
Moxie Marlinspike
d765d11c3e
Bump version to 1.67
...
// FREEBIE
2017-10-03 14:38:43 -07:00
Moxie Marlinspike
79ab85c632
Support for unaccelerated regions
...
// FREEBIE
2017-10-03 14:38:12 -07:00
Moxie Marlinspike
dea68f3cf5
Update sample config
...
// FREEBIE
2017-08-28 10:26:05 -07:00
Moxie Marlinspike
50ea267664
Bump version to 1.66
...
// FREEBIE
2017-08-18 16:03:26 -07:00
Moxie Marlinspike
789f11a5c4
Disconnect sockets on other servers when new websocket comes in
...
// FREEBIE
2017-08-18 16:03:26 -07:00
Moxie Marlinspike
322548f078
Support for setting profile names and avatars
...
// FREEBIE
2017-08-18 16:03:22 -07:00
Moxie Marlinspike
8ea805e4e3
Update sample configuration
...
// FREEBIE
2017-06-06 08:22:46 -07:00
Moxie Marlinspike
3d7e4766f7
Remove unused push configuration fields
...
// FREEBIE
2017-06-06 08:13:29 -07:00
Moxie Marlinspike
5c2166a019
Bump version to 1.65
...
// FREEBIE
2017-05-22 10:39:20 -07:00
Moxie Marlinspike
f5aec1c894
Add profile controller
...
// FREEBIE
2017-05-22 10:38:34 -07:00
Moxie Marlinspike
b8fb8a52f1
Bump version to 1.64
...
// FREEBIE
2017-05-09 16:17:27 -07:00
Moxie Marlinspike
9d32300612
The APNs server appears to be lying to us about unregistrations
...
// FREEBIE
2017-05-09 16:17:21 -07:00
Moxie Marlinspike
51c3257df9
Bump version to 1.63
...
// FREEBIE
2017-05-08 13:07:07 -07:00
Moxie Marlinspike
35180b41bc
Remove all the old V1 keys stuff
...
// FREEBIE
2017-05-05 10:36:29 -07:00
Moxie Marlinspike
3200ba0ed0
Bump version to 1.62
...
// FREEBIE
2017-05-04 17:31:12 -07:00
Moxie Marlinspike
8e742ceb91
Cancel apn fallback on unregistered event
...
// FREEBIE
2017-05-04 12:06:13 -07:00
Moxie Marlinspike
02deea85e6
Make apn unregister events work for voip push too
...
// FREEBIE
2017-05-04 09:41:35 -07:00
Moxie Marlinspike
13ea678e5e
connect in dropwizard metrics listener to pushy
...
// FREEBIE
2017-05-03 22:03:01 -07:00
Moxie Marlinspike
2e98c16f05
Bump version to 1.58
...
// FREEBIE
2017-05-03 20:09:31 -07:00
Moxie Marlinspike
ca6aa5213c
Reset voip apn id as well when we get an unregister event
...
// FREEBIE
2017-05-03 20:09:13 -07:00
Moxie Marlinspike
54f25358eb
Apparently I'm behind the times on this constructor
...
// FREEBIE
2017-05-03 14:37:08 -07:00
Moxie Marlinspike
6fce69bbac
No need to warn on metrics reporting
...
// FREEBIE
2017-05-03 14:25:57 -07:00
Moxie Marlinspike
5ceb18414a
Update to websocket-resources 0.5.2
...
// FREEBIE
2017-05-03 14:25:27 -07:00
Moxie Marlinspike
716150cfd2
Switch to HTTP/2 APNS interface
...
// FREEBIE
2017-05-02 20:40:21 -07:00
Moxie Marlinspike
e10baa915d
Bump version to 1.57
...
// FREEBIE
2017-05-02 20:40:06 -07:00
Moxie Marlinspike
ef6ff68b0b
Update websocket-resources to 0.5.1
...
// FREEBIE
2017-05-02 20:04:03 -07:00
Moxie Marlinspike
b87a6a9fec
Bump version to 1.55
...
// FREEBIE
2017-05-01 15:42:31 -07:00
Moxie Marlinspike
2efe8ae0cf
Update to dropwizard 1.1.0
...
// FREEBIE
2017-05-01 14:45:16 -07:00
Moxie Marlinspike
8b2f46f0ba
Bump version to 1.51
...
// FREEBIE
2017-04-27 11:32:07 -07:00
Moxie Marlinspike
3c41d4b3a4
Bump version to 1.50
...
// FREEBIE
2017-04-27 11:18:38 -07:00
Moxie Marlinspike
189d95f4fa
Pull GCM/APN senders into service
...
// FREEBIE
2017-04-25 18:16:24 -07:00
Moxie Marlinspike
28939e7405
Bump version to 1.49
...
// FREEBIE
2017-04-24 18:46:29 -07:00
Moxie Marlinspike
84be8cc045
Add push command
...
// FREEBIE
2017-04-24 18:46:06 -07:00
Moxie Marlinspike
2a7e2be675
Bump version to 1.43
...
// FREEBIE
2017-04-11 17:27:42 -07:00
Moxie Marlinspike
a1057ef764
Bump version to 1.42
...
// FREEBIE
2017-04-10 16:23:26 -07:00
Moxie Marlinspike
f79a0a8603
Send end of queue message after connection drain
...
// FREEBIE
2017-04-10 16:22:58 -07:00
Moxie Marlinspike
6b84f54611
Bump version to 1.41
...
// FREEBIE
2017-04-05 16:38:46 -07:00
Moxie Marlinspike
1bd66297e2
Use transfer acceleration
...
// FREEBIE
2017-04-05 16:38:35 -07:00
Moxie Marlinspike
ea08f39f6e
Bump version to 1.40
...
// FREEBIE
2017-04-04 14:56:24 -07:00
Moxie Marlinspike
818c5a9cf5
Try a second fallback before APNS
...
// FREEBIE
2017-04-04 14:55:50 -07:00
Moxie Marlinspike
074fd14849
Don't write to account db if gcm id is same
...
// FREEBIE
2017-03-16 22:14:08 -07:00
Moxie Marlinspike
a783859ab2
Bump version to 1.36
...
// FREEBIE
2017-03-05 15:47:16 -08:00
Moxie Marlinspike
4b84a5ec15
Fix json serialization
...
// FREEBIE
2017-03-05 15:46:59 -08:00
Moxie Marlinspike
905db1e8ff
Bump version to 1.35
...
// FREEBIE
2017-03-05 15:19:52 -08:00
Moxie Marlinspike
934d7e0f02
Make attachment ids available in string form
...
Since JS can't handle 8 byte longs (!)
// FREEBIE
2017-03-05 12:49:25 -08:00
Moxie Marlinspike
3b9a76c1f2
Fix for configurable max devices
...
Put a time limit on device provisioning codes while we're at it
// FREEBIE
2017-03-05 12:47:18 -08:00
Moxie Marlinspike
dabd294eaf
Bump version to 1.28
...
// FREEBIE
2017-02-26 16:46:48 -08:00
Moxie Marlinspike
3d2f8a7ddb
Allow max device limit to be configurable per-user
...
// FREEBIE
2017-02-26 16:46:42 -08:00
Moxie Marlinspike
507d457900
We can say 'Signal' in the Android verification SMS now
...
// FREEBIE
2017-02-26 16:30:13 -08:00
Moxie Marlinspike
875be1f028
Bump version to 1.27
...
// FREEBIE
2017-02-26 16:27:56 -08:00
Moxie Marlinspike
71267ec333
phase out legacy support for last resort
...
// FREEBIE
2017-02-26 16:27:12 -08:00
Moxie Marlinspike
3aed470a87
Bump version to 1.26
...
// FREEBIE
2017-02-25 12:05:11 -08:00
Moxie Marlinspike
356b0ae659
Don't send fallback APN on requeued receipts
...
// FREEBIE
2017-02-25 12:04:04 -08:00
Moxie Marlinspike
d8e142d454
Bump version to 1.25
...
// FREEBIE
2017-02-17 10:33:28 -08:00
Moxie Marlinspike
dd6c5292fd
Move account existence check to be before rate limit
...
// FREEBIE
2017-02-16 17:34:58 -08:00
Moxie Marlinspike
571c7a8069
Bump version to 1.22
...
// FREEBIE
2017-01-29 20:03:04 -08:00
Moxie Marlinspike
5dbde869df
staging command
...
// FREEBIE
2017-01-29 20:02:36 -08:00
Moxie Marlinspike
432943d6ee
Fix test
...
// FREEBIE
2017-01-29 20:01:58 -08:00
Moxie Marlinspike
014a821d05
Squelch some warnings
...
Closes #8
// FREEBIE
2017-01-29 19:49:03 -08:00
Paride Legovini
d8d98e289a
Removed stale files
...
ApnConfiguration.java and GcmConfiguration.java are no longer used
since Signal-Server uses PushServer.
Closes #74
// FREEBIE
2017-01-29 19:45:08 -08:00
Moxie Marlinspike
53a65ea810
up max devices to 6
...
Closes #70
// FREEBIE
2017-01-29 19:43:55 -08:00
Moxie Marlinspike
fc0ac45f21
Bump version to 1.21
...
// FREEBIE
2017-01-10 11:20:18 -08:00
Mikkel Kroman
c2d8c9a662
Faroese phone numbers are 6 digits in length and has
...
a 3-digit dialing code, but the validation regex
requires 10-digit numbers.
Validates numbers the same way libsignal-service-java does it.
Closes #72
2017-01-10 11:19:12 -08:00
Moxie Marlinspike
2ad2a95cc6
Update sample config
...
Closes #63
// FREEBIE
2017-01-10 11:14:09 -08:00
Moxie Marlinspike
47a8329cd0
Bump version to 1.20
...
// FREEBIE
2017-01-10 11:02:16 -08:00
Moxie Marlinspike
0087f328d6
Register message controller with websocket channel
...
// FREEBIE
2017-01-09 19:00:35 -08:00
Moxie Marlinspike
9250d90e57
Bump version to 1.19
...
// FREEBIE
2017-01-09 11:52:10 -08:00
Moxie Marlinspike
2dfe9eea94
Support for video account attributes
...
// FREEBIE
2017-01-09 11:50:56 -08:00
Moxie Marlinspike
5b28594189
Bump version to 1.18
...
// FREEBIE
2017-01-06 12:24:41 -08:00
Moxie Marlinspike
33c88ec9e4
Move stats
...
// FREEBIE
2017-01-06 12:23:56 -08:00
Moxie Marlinspike
6d4bb5dcbc
Bump version to 1.16
...
// FREEBIE
2016-12-01 09:48:32 -08:00
Moxie Marlinspike
f2d0f1e51e
Fix mexico country code typo
...
// FREEBIE
2016-12-01 09:48:03 -08:00
Moxie Marlinspike
b6d3e76568
Bump version to 1.15
...
// FREEBIE
2016-11-29 19:51:17 -08:00
Moxie Marlinspike
1515793109
Removed unneeded hard exit
...
// FREEBIE
2016-11-29 19:36:55 -08:00
Moxie Marlinspike
26bd15ec28
Bump version to 1.14
...
// FREEBIE
2016-11-20 10:30:14 -08:00
Moxie Marlinspike
b78dd69fd6
Switch to read replica for directory update
...
// FREEBIE
2016-11-20 10:29:51 -08:00
Moxie Marlinspike
7277e30443
Bump version to 1.13
...
// FREEBIE
2016-11-20 10:14:59 -08:00
Moxie Marlinspike
683c37aca1
No reason to send delivery receipts to ourself
...
// FREEBIE
2016-11-20 10:11:34 -08:00
Moxie Marlinspike
856e5eca4c
Allow sender to specify whether msg should trigger APN fallback
...
// FREEBIE
2016-11-20 09:56:24 -08:00
Moxie Marlinspike
3c9963065d
Update readme
...
// FREEBIE
2016-11-19 14:39:21 -08:00
Moxie Marlinspike
ad9886284b
Bump version to 1.12
...
// FREEBIE
2016-11-14 10:23:56 -08:00
Moxie Marlinspike
7b18ce41a1
Bump version to 1.11
...
// FREEBIE
2016-11-05 22:13:14 -07:00
Moxie Marlinspike
0fb46ed60b
Bump version to 1.10
...
// FREEBIE
2016-11-05 21:59:59 -07:00
Moxie Marlinspike
a9875dff13
bump version
...
// FREEBIE
2016-11-05 21:44:31 -07:00
Moxie Marlinspike
9e6427d406
Bump version to 1.07
...
// FREEBIE
2016-11-02 16:59:52 -07:00
Moxie Marlinspike
92322288ca
Bump version to 1.06
...
// FREEBIE
2016-11-01 16:28:08 -07:00
Moxie Marlinspike
19a4c7253a
Support for turn allocations
...
// FREEBIE
2016-11-01 16:27:34 -07:00
Moxie Marlinspike
8eed2329bc
Bump version to 1.05
...
// FREEBIE
2016-10-24 11:55:05 -07:00
Moxie Marlinspike
e07c521288
Limit voice calls daily as well
...
// FREEBIE
2016-10-24 10:11:56 -07:00
Moxie Marlinspike
917eaa50fb
Bump version to 1.04
...
// FREEBIE
2016-10-08 17:52:29 -07:00
Moxie Marlinspike
9b274cb243
Bump version to 1.03
...
// FREEBIE
2016-10-01 23:56:31 -07:00
Moxie Marlinspike
93cbdadff3
Fix leaky bucket serialization
...
// FREEBIE
2016-10-01 23:56:07 -07:00
Moxie Marlinspike
9f5e213402
Bump version to 1.02
...
// FREEBIE
2016-09-14 16:40:56 -07:00
Moxie Marlinspike
7b60ae26fc
Don't send APN fallbacks for sync messages
...
// FREEBIE
2016-09-14 16:40:33 -07:00
Moxie Marlinspike
26b552a12e
Bump version to 1.01
...
// FREEBIE
2016-07-21 18:03:31 -07:00
Moxie Marlinspike
4e8ca603fe
Calculate bytes per second in network gauges
...
// FREEBIE
2016-07-21 17:54:01 -07:00
Moxie Marlinspike
8cbeecd347
Bump version to 1.0
...
// FREEBIE
2016-06-23 16:11:57 -07:00
Moxie Marlinspike
ef25503d58
Fix device controller test
...
// FREEBIE
2016-06-23 16:11:38 -07:00
Moxie Marlinspike
5c4c00bd88
Track end to end message delivery time
...
// FREEBIE
2016-06-23 11:56:40 -07:00
Moxie Marlinspike
52d1a103aa
Bump up device limit to 4
...
// FREEBIE
2016-06-23 11:56:18 -07:00
Moxie Marlinspike
48888be408
Bump version to 0.99
...
// FREEBIE
2016-06-12 13:50:27 -07:00
Moxie Marlinspike
8b5106adc7
Support for Twilio MessageServices
...
// FREEBIE
2016-06-12 13:50:13 -07:00
Moxie Marlinspike
6a80ce878f
Bump dropwizard version to 0.9.2
...
// FREEBIE
2016-06-12 13:49:50 -07:00
Moxie Marlinspike
13a75adba9
Bump version to 0.98
...
// FREEBIE
2016-04-13 21:03:58 -07:00
Moxie Marlinspike
804d4320d7
Metric for fresh user vs reregistration
...
// FREEBIE
2016-04-13 21:03:34 -07:00
Moxie Marlinspike
76bf89dda3
Bump version to 0.97
...
// FREEBIE
2016-04-12 08:49:08 -07:00
Moxie Marlinspike
950bc05d62
Add excessive exception handling in feedback handler
...
// FREEBIE
2016-04-12 08:48:31 -07:00
Moxie Marlinspike
f9acd6a66b
Update device enabled criteria
...
// FREEBIE
2016-04-12 08:48:22 -07:00
Moxie Marlinspike
d3023a0068
Bump version to 0.96
...
// FREEBIE
2016-03-17 16:14:00 -07:00
Moxie Marlinspike
d7df99e960
Break down activity by android/ios
...
// FREEBIE
2016-03-17 16:13:35 -07:00
Moxie Marlinspike
6b8478dbe9
Bump version to 0.95
...
// FREEBIE
2016-03-17 15:25:13 -07:00
Moxie Marlinspike
a297d03db5
Add periodic stats command
...
// FREEBIE
2016-03-17 15:24:49 -07:00
Moxie Marlinspike
9d3d9d1390
Don't assume that histograms are durations
...
// FREEBIE
2016-03-16 20:31:37 -07:00
Moxie Marlinspike
761ac95085
Bump version to 0.94
...
// FREEBIE
2016-03-11 16:15:27 -08:00
Moxie Marlinspike
d95ca5f9e4
Mark accounts as inactive if no device has been seen for a year.
...
// FREEBIE
2016-03-11 16:02:55 -08:00
Moxie Marlinspike
c410348278
Bump version to 0.93
...
// FREEBIE
2016-03-06 13:59:36 -08:00
Moxie Marlinspike
d8a758211f
Make push sender queue depth configurable or disable-able.
...
// FREEBIE
2016-03-06 13:58:30 -08:00
Moxie Marlinspike
33e60f2527
Bump version to 0.92
...
// FREEBIE
2016-02-02 15:31:10 -08:00
Moxie Marlinspike
fb705eee23
Switch PushSender queue depth metrics to gauge
...
// FREEBIE
2016-02-02 15:21:15 -08:00
Moxie Marlinspike
635e16e934
Bump version to 0.91
...
// FREEBIE
2016-02-02 14:43:34 -08:00
Moxie Marlinspike
1deb3ae67f
Asynchronous processing queue for incoming messages
...
// FREEBIE
2016-02-02 14:42:47 -08:00
Moxie Marlinspike
16ff40f420
Bump version to 0.90
...
// FREEBIE
2016-01-20 18:41:22 -08:00
Moxie Marlinspike
a8b5cb23fe
Reduce pending max queue size to 1000 messages
...
// FREEBIE
2016-01-20 18:41:01 -08:00
Moxie Marlinspike
82f88d04ad
Fuzz GCM write timestmap by 10 seconds
...
// FREEBIE
2015-12-21 16:59:54 -08:00
Moxie Marlinspike
0e1091e0ea
Bump version to 0.89
...
// FREEBIE
2015-12-21 12:36:07 -08:00
Moxie Marlinspike
7b48f10cc9
Filter message deletes by device
...
// FREEBIE
2015-12-21 12:35:45 -08:00
Moxie Marlinspike
0be34b1135
Bump version to 0.88
...
// FREEBIE
2015-12-04 12:59:22 -08:00
Moxie Marlinspike
fb5e0242d0
Adjust requeue message logic to avoid redis assumptions
...
// FREEBIE
2015-12-04 11:41:23 -08:00
Moxie Marlinspike
d376035557
Bump version to 0.87
2015-12-03 16:40:23 -08:00
Moxie Marlinspike
747b2dc7c5
Jedis sanity checks
...
// FREEBIE
2015-12-03 16:40:04 -08:00
Moxie Marlinspike
fac2f1bee3
Bump version to 0.86
...
// FREEBIE
2015-12-02 15:06:54 -08:00
Moxie Marlinspike
a211f6aed9
Delete pending messages for an unlinked device
...
// FREEBIE
2015-12-02 15:06:09 -08:00
Moxie Marlinspike
0bc494245d
Fix for broken string format
...
// FREEBIE
2015-12-01 11:54:50 -08:00
Frederic Jacobs
b31a88043e
Adding Signal SMS verification strings.
...
- Changes the voice verification string.
- Keeps the TextSecure SMS String for matching in Signal for Android.
- Changes TextSecure to Signal for iOS, adding tap to verify link.
- Added test for iOS query parameter.
2015-12-01 11:54:14 -08:00
Moxie Marlinspike
85509c6d8b
Don't need to send payload GCM messages any longer.
...
// FREEBIE
2015-12-01 10:58:43 -08:00
Moxie Marlinspike
2dd131cf79
Bump verison to 0.85
...
// FREEBIE
2015-11-12 10:42:28 -08:00
Moxie Marlinspike
51990d0b33
Lower chunk size
...
// FREEBIE
2015-11-12 10:42:16 -08:00
Moxie Marlinspike
00a49afc30
Bump version to 0.84
...
// FREEBIE
2015-11-09 17:20:28 -08:00
Moxie Marlinspike
faa0630851
Fix up MX numbers for SMS delivery
...
// FREEBIE
2015-11-09 17:18:59 -08:00
Moxie Marlinspike
aac3fc68fc
Bump version to 0.83
...
// FREEBIE
2015-11-06 11:24:53 -08:00
Moxie Marlinspike
9c08b96b50
Bump version to 0.82
...
// FREEBIE
2015-11-04 11:20:39 -08:00
Moxie Marlinspike
15ddde1df4
Adjust log levels on delivery receipt failure.
...
// FREEBIE
2015-11-04 11:20:09 -08:00
Moxie Marlinspike
f2a9de3ba8
Retry serializable transaction.
...
// FREEBIE
2015-11-04 11:19:54 -08:00
Moxie Marlinspike
fd725206e2
Bump version to 0.81
...
// FREEBIE
2015-11-03 08:12:31 -08:00
Moxie Marlinspike
6368b9383a
Stripe SMS/Vox across multiple numbers
...
// FREEBIE
2015-11-03 08:12:18 -08:00
Moxie Marlinspike
2b8a11b001
Bump version to 0.80
...
// FREEBIE
2015-09-30 17:53:47 -07:00
Moxie Marlinspike
c9e0339a30
Specify media type on attributes put
...
// FREEBIE
2015-09-30 17:53:09 -07:00
Moxie Marlinspike
8d11595290
Bump version to 0.79
2015-09-21 14:09:28 -07:00
Moxie Marlinspike
2fe9f3effa
Generate as well as consume auth tokens. Also user agents.
...
// FREEBIE
2015-09-21 14:09:03 -07:00
Moxie Marlinspike
ae122ff8a2
Bump version to 0.76
...
// FREEBIE
2015-08-18 11:11:58 -07:00
Moxie Marlinspike
8b941ddd33
Make the messagedb a bounded queue at 5000 msgs/device
...
// FREEBIE
2015-08-18 11:10:42 -07:00
Moxie Marlinspike
2902ea6689
Get rid of deprecated API
...
// FREEBIE
2015-08-18 11:10:34 -07:00
Moxie Marlinspike
5ccbf355bd
Chunk sending pending message queues > a chunk size.
...
// FREEBIE
2015-08-17 17:12:36 -07:00
Moxie Marlinspike
62d8f635b0
Track voice support on TS server.
...
// FREEBIE
2015-08-13 11:43:49 -07:00
Moxie Marlinspike
4c3aae63d3
Trim old messages
...
// FREEBIE
2015-08-11 20:15:05 -07:00
Moxie Marlinspike
8f94aa0c0d
Actually vacuum messages
...
// FREEBIE
2015-08-11 20:00:11 -07:00
Moxie Marlinspike
0370306bb6
Map 411 to 413
...
// FREEBIE
2015-08-01 10:09:15 -07:00
Moxie Marlinspike
c9176efe6f
Bump version to 0.71
...
// FREEBIE
2015-07-30 17:31:19 -07:00
Moxie Marlinspike
a3fd08b7ef
Add gauge for reporting number of open fds
...
// FREEBIE
2015-07-30 16:55:19 -07:00
Moxie Marlinspike
83a9e36ef1
Update logging levels.
...
// FREEBIE
2015-07-30 16:39:55 -07:00
Moxie Marlinspike
9668decc84
Bump version to 0.70
...
// FREEBIE
2015-07-30 14:17:24 -07:00
Moxie Marlinspike
328bb47d44
Only handle dead letters to addresses, not connection info.
...
// FREEBIE
2015-07-30 14:16:39 -07:00
Moxie Marlinspike
c74e0b9eab
Bump version to 0.69
...
// FREEBIE
2015-07-30 13:25:40 -07:00
Moxie Marlinspike
20dc32413f
Soften some logging.
...
// FREEBIE
2015-07-30 13:25:29 -07:00
Moxie Marlinspike
d4e618893c
Make APN fallback behave well in multi-server environments.
...
// FREEBIE
2015-07-30 13:18:22 -07:00
Moxie Marlinspike
8d0d934249
Bump version to 0.68
...
// FREEBIE
2015-07-29 15:19:09 -07:00
Moxie Marlinspike
ef2441ad82
Don't pass response objects back from federated client.
...
// FREEBIE
2015-07-29 15:18:40 -07:00
Moxie Marlinspike
bb7859138c
Bump version to 0.67
...
// FREEBIE
2015-07-29 14:23:05 -07:00
Moxie Marlinspike
ebc4570941
Fix federated client connection leak.
...
// FREEBIE
2015-07-29 12:36:03 -07:00
Moxie Marlinspike
d04baed38b
Bump version to 0.65
...
// FREEBIE
2015-07-28 15:23:49 -07:00
Moxie Marlinspike
001c81f797
Try to make JerseyClient put() include a content-length of 0.
...
// FREEBIE
2015-07-28 15:23:21 -07:00
Moxie Marlinspike
3327bf4788
Add provisioning keepalive endpoint.
...
// FREEBIE
2015-07-28 15:22:51 -07:00
Moxie Marlinspike
e0b480e232
Bump version to 0.64
...
// FREEBIE
2015-07-27 22:47:16 -07:00
Moxie Marlinspike
b328d85230
Increase timeout on push service socket.
...
// FREEBIE
2015-07-27 22:46:38 -07:00
Moxie Marlinspike
3afaa5c1e6
Fix bug with federated delivery receipts.
...
// FREEBIE
2015-07-27 22:46:18 -07:00
Moxie Marlinspike
f2c8699823
Remove unused provider.
...
// FREEBIE
2015-07-27 17:58:38 -07:00
Moxie Marlinspike
4c11315a3c
Bump version to 0.63
...
// FREEBIE
2015-07-27 17:04:07 -07:00
Moxie Marlinspike
0e3a347d6b
Disable FAIL_ON_UNKNOWN_PROPERTIES for directory command.
...
// FREEBIE
2015-07-27 17:03:39 -07:00
Moxie Marlinspike
dc723fadaa
Bump version to 0.62
...
// FREEBIE
2015-07-27 16:41:23 -07:00
Moxie Marlinspike
6396958a31
Bump up FederatedClient timeouts.
...
// FREEBIE
2015-07-27 16:40:42 -07:00
Moxie Marlinspike
1fe57e4841
Bump version to 0.61
...
// FREEBIE
2015-07-27 14:03:42 -07:00
Moxie Marlinspike
3885ae6337
Dropwizard 9 compatibility!
...
// FREEBIE
2015-07-27 14:02:44 -07:00
Moxie Marlinspike
39e3366b3b
Bump version to 0.54
...
// FREEBIE
2015-06-25 11:02:00 -07:00
Moxie Marlinspike
a5ffd47935
Gotta stub out message field for delivery receipts w/ old clients
...
// FREEBIE
2015-06-25 11:00:59 -07:00
Moxie Marlinspike
18a96a445b
Bump version to 0.53
2015-06-25 08:51:09 -07:00
Moxie Marlinspike
de366b976e
Ignore unknown properties from federated responses.
...
// FREEBIE
2015-06-25 08:50:10 -07:00
Moxie Marlinspike
8f6aff3a7e
Bump version to 0.52
...
// FREEBIE
2015-06-24 13:46:08 -07:00
Moxie Marlinspike
fb411b20cc
Make adding and removing master device operations.
...
// FREEBIE
2015-06-22 11:01:08 -07:00
Moxie Marlinspike
52ce7d6935
Enhance device management API.
...
1. Put a limit on the number of registered devices per account.
2. Support removing devices.
3. Support device names and created dates.
4. Support enumerating devices.
// FREEBIE
2015-06-19 21:41:22 -07:00
Moxie Marlinspike
75ee398633
Remove server-side tracking of "supports SMS." Nobody does!
...
// FREEBIE
2015-06-17 16:45:23 -07:00
Moxie Marlinspike
53bdd946d6
Update TextSecure envelope protobuf.
...
Support envelope 'content' field.
// FREEBIE
2015-06-17 16:29:07 -07:00
Moxie Marlinspike
79f36664ef
Bump version to 0.50
...
// FREEBIE
2015-06-06 21:04:53 -07:00
Moxie Marlinspike
83078a48ab
Support for expiration on APN messages.
...
// FREEBIE
2015-06-06 21:04:08 -07:00
Moxie Marlinspike
6f67a812dc
Make APN fallback 30 seconds.
...
// FREEBIE
2015-05-27 16:25:31 -07:00
Moxie Marlinspike
6ad705b40e
Fall back straight to APN.
...
// FREEBIE
2015-05-27 16:19:56 -07:00
Moxie Marlinspike
4cb43415a1
Track APN fallback deliverability metrics.
...
// FREEBIE
2015-05-15 17:01:23 -07:00
Moxie Marlinspike
bbb09b558c
Support for APN fallback retries.
...
// FREEBIE
2015-05-15 16:04:27 -07:00
Moxie Marlinspike
6363be81e0
Support for configured test devices with hardcoded verification.
...
Closes #40
// FREEBIE
2015-05-13 15:35:59 -07:00
Moxie Marlinspike
c6810d7460
Bump version to 0.49
...
// FREEBIE
2015-05-13 14:31:38 -07:00
Moxie Marlinspike
4c1e7e7c2f
Rate limit messages on source+destination rather than just src.
...
// FREEBIE
2015-04-24 16:25:59 -07:00
Moxie Marlinspike
931081752a
Updated sample config
...
// FREEBIE
Closes #38
2015-04-21 19:45:31 -07:00
Moxie Marlinspike
424e98e67e
Bump version to 0.48
...
// FREEBIE
2015-04-21 19:44:20 -07:00
Moxie Marlinspike
7cfa93f5f8
Tone down websocket logging for bad federated responses.
...
// FREEBIE
2015-04-21 19:44:02 -07:00
Moxie Marlinspike
fd8e8d1475
Catch WebApplicationException inside WebsocketConnection.
...
// FREEBIE
2015-04-16 11:33:16 -07:00
Moxie Marlinspike
7ed5eb22ec
Additional WebsocketConnection test.
...
// FREEBIE
2015-04-16 10:45:24 -07:00
Moxie Marlinspike
fa1c275904
Bump version to 0.46
...
// FREEBIE
2015-04-15 16:44:22 -07:00
Moxie Marlinspike
558c72bbb7
Make pending messages indexable by sender and timestamp.
...
Rather than just timestamp.
// FREEBIE
2015-04-15 16:43:44 -07:00
Moxie Marlinspike
37976455bc
Bump version to 0.45
...
// FREEBIE
2015-04-15 16:20:25 -07:00
Moxie Marlinspike
db6ee8f687
Make stored messages REST accessible.
...
Add REST endpoints for retrieving and acknowledging pending
messges, beyond the WebSocket.
// FREEBIE
2015-04-15 16:19:07 -07:00
Moxie Marlinspike
53e7ffa311
Bump version to 0.44
2015-03-30 10:31:35 -07:00
Moxie Marlinspike
e0f7ff325a
Add voip push support in communication with push server.
...
// FREEBIE
2015-03-25 15:59:52 -07:00
Moxie Marlinspike
1fcd1e33c5
Log keepalives for unsubscribed channels.
...
// FREEBIE
2015-03-24 14:13:32 -07:00
Moxie Marlinspike
843b16c1f0
Correctly serialize provisioning addresses.
...
// FREEBIE
2015-03-24 12:10:59 -07:00
Moxie Marlinspike
a58f3f0fe3
Check subscription status on websocket keepalive.
...
// FREEBIE
2015-03-24 10:48:14 -07:00
Moxie Marlinspike
e69e395b25
Support for receiving "canonical id" update events from pushserver.
...
// FREEBIE
2015-03-24 10:47:45 -07:00
Moxie Marlinspike
456164fc24
Support registering a 'voip' APN ID.
...
// FREEBIE
2015-03-24 10:47:20 -07:00
Moxie Marlinspike
9b7f61a09d
Bump version to 0.43
2015-03-20 07:57:00 -07:00
Moxie Marlinspike
2de9adb7ae
Make dispatch subscription/unsubscription synchronized.
2015-03-19 14:37:10 -07:00
Moxie Marlinspike
c7e0cc1158
Use a custom redis pubsub implementation rather than Jedis.
...
// FREEBIE
2015-03-17 13:30:51 -07:00
Moxie Marlinspike
e79861c30a
Add connection duration stats.
...
// FREEBIE
2015-03-15 10:21:24 -07:00
Moxie Marlinspike
407f596b61
Bump version to 0.41
...
// FREEBIE
2015-03-13 14:38:39 -07:00
Moxie Marlinspike
41d30fc8dc
Resubscribe listeners when subscription link breaks.
...
// FREEBIE
2015-03-13 10:56:48 -07:00
Moxie Marlinspike
2e429c5b35
Loop voice verification prompt 3 times.
...
Fixes #18
Closes #32
// FREEBIE
2015-03-13 10:09:40 -07:00
Moxie Marlinspike
28afe3470b
Upgrade jedis to 2.6.2
...
// FREEBIE
2015-03-13 10:06:44 -07:00
Moxie Marlinspike
f623b24196
Fix string formatting.
...
// FREEBIE
2015-03-12 16:29:49 -07:00
Moxie Marlinspike
2016c17894
Bump version to 0.40
2015-03-10 18:29:14 -07:00
Moxie Marlinspike
2d28077010
Make idle timeout 90s
...
// FREEBIE
2015-03-10 17:27:43 -07:00
Moxie Marlinspike
7011f3c3c7
Fix 500 on validation error
2015-03-10 16:00:20 -07:00
Moxie Marlinspike
1403dbd5dd
Handle pubsub callbacks from a cached thread pool.
...
...implement some belt and suspenders dead letter handling.
...implement some belt and suspenders redis pubsub queue handling.
// FREEBIE
2015-03-10 12:45:05 -07:00
Moxie Marlinspike
6ef3845a34
Don't consider empty relays present on receipt delivery.
2015-03-09 15:41:50 -07:00
Moxie Marlinspike
de2f0914f0
Reenable websocket notifications for Android.
...
// FREEBIE
2015-03-09 09:39:09 -07:00
Moxie Marlinspike
080ae0985f
Support URL-safe Base64 encoding for directory tokens.
...
// FREEBIE
2015-03-09 09:34:02 -07:00
Moxie Marlinspike
887f49760f
Bump version to 0.35
...
// FREEBIE
2015-03-07 09:25:24 -08:00
Moxie Marlinspike
be77f2291b
Temporarily disable GCM websocket notifications.
...
Workaround for a client bug.
// FREEBIE
2015-03-07 09:24:55 -08:00
Moxie Marlinspike
b585b849a1
Bump version to 0.34
2015-03-05 11:59:41 -08:00
Moxie Marlinspike
0c94e3d994
Don't print the full stack trace for twilio exceptions.
2015-03-05 08:37:27 -08:00
Moxie Marlinspike
4a93658d0f
Don't consider an empty string to be a possible relay.
...
// FREEBIE
2015-03-05 08:36:56 -08:00
Moxie Marlinspike
6da19c6254
Set registration id when newly provisioned device registers.
2015-03-05 08:36:30 -08:00
Moxie Marlinspike
289058be81
Bump version to 0.33
2015-02-23 21:26:27 -08:00
Moxie Marlinspike
864675ecde
Return stored messages in order.
...
// FREEBIE
2015-02-23 12:14:41 -08:00
Moxie Marlinspike
c79d7e3e30
Close existing websocket connection for a device on new connect.
...
// FREEBIE
2015-02-23 12:11:07 -08:00
Moxie Marlinspike
549cc6f492
Bump version to 0.32
...
// FREEBIE
2015-02-23 11:27:25 -08:00
Moxie Marlinspike
aa84ab66af
Support for GCM stored messages.
...
// FREEBIE
2015-02-04 14:19:50 -08:00
Moxie Marlinspike
1fef812c67
Bump version to 0.31
...
// FREEBIE
2015-02-02 09:37:50 -08:00
Moxie Marlinspike
9170f74887
Vacuum messages now too.
...
// FREEBIE
2015-02-02 08:59:32 -08:00
Moxie Marlinspike
c9bd700d31
Bump version to 0.30
...
// FREEBIE
2015-02-02 08:55:11 -08:00
Moxie Marlinspike
0928e4c035
Fix leaky bucket serialization.
...
// FREEBIE
2015-01-30 11:48:49 -08:00
Moxie Marlinspike
75aec0a8d4
Switch to Redis for all caching.
...
// FREEBIE
2015-01-29 15:37:28 -08:00
Moxie Marlinspike
1f5ee36a6b
Switch to postgresql-backed message DB.
...
// FREEBIE
2015-01-29 13:25:33 -08:00
Moxie Marlinspike
45a0b74b89
Device provisioning fixes.
...
// FREEBIE
2015-01-21 15:15:40 -08:00
Moxie Marlinspike
f7132bdbbc
Rearrange provisioning flow. Add needsMessageSync response.
...
// FREEBIE
2015-01-21 13:56:58 -08:00
Moxie Marlinspike
d2dbff173a
Adjust encoding
2015-01-19 19:03:06 -08:00
Moxie Marlinspike
79f83babb3
Support for ephemeral provisioning communication channels.
...
// FREEBIE
2015-01-18 18:09:25 -08:00
Moxie Marlinspike
715181f830
Remove duplicate dependency.
...
// FREEBIE
Fixes #26
2015-01-03 20:26:11 -08:00
Moxie Marlinspike
5c1c80dad3
Bump version to 0.29
...
// FREEBIE
2015-01-03 19:43:46 -08:00
Moxie Marlinspike
32c0712715
Chunk local directory update queries.
...
// FREEBIE
2015-01-03 19:43:19 -08:00
Moxie Marlinspike
fa4e492d1c
Get rid of GSON dependency.
...
// FREEBIE
2015-01-03 18:28:51 -08:00
Moxie Marlinspike
4711fa2a9a
Bump version to 0.27
...
// FREEBIE
2015-01-03 17:34:44 -08:00
Moxie Marlinspike
08291502eb
Expire in-memory queues after 30 days of inactivity.
...
// FREEBIE
2015-01-03 17:24:35 -08:00
Moxie Marlinspike
1f0acd0622
Don't warn on connection timeout exceptions.
...
// FREEBIE
2015-01-03 16:51:59 -08:00
Moxie Marlinspike
e88b732715
Add PaperTrail support.
...
// FREEBIE
2015-01-03 16:51:28 -08:00
Moxie Marlinspike
dafda85c36
Move JSON reporter to Dropwizard ReporterFactory structure.
2015-01-02 23:53:40 -08:00
Moxie Marlinspike
8441fa9687
Fix bugs associated with PubSub encoding.
...
// FREEBIE
2014-12-12 12:35:05 -08:00
Moxie Marlinspike
77800dfb01
Update websocket-resources.
...
// FREEBIE
2014-12-08 09:07:45 -08:00
Moxie Marlinspike
41d15b738b
Refactor direct connect delivery pipeline and message store.
...
1) Make message store contents more memory efficient.
2) Make notification pipeline simpler and more memory efficient.
3) Don't b64 encode websocket message bodies.
// FREEBIE
2014-12-06 20:00:39 -08:00
Moxie Marlinspike
aa2a5ff929
Bump version to 0.26
...
// FREEBIE
2014-12-03 13:36:25 -08:00
Moxie Marlinspike
56d3c1e73f
Turn down log levels.
...
// FREEBIE
2014-12-03 11:44:40 -08:00
Moxie Marlinspike
f401f9a674
Schedule at 1min instead of 10min.
...
// FREEBIE
2014-12-03 11:35:38 -08:00
Moxie Marlinspike
30933d792b
Timestamp comparison should be the other way.
...
// FREEBIE
2014-12-03 11:33:34 -08:00
Moxie Marlinspike
905717977e
Turn down logging on metrics reporter.
...
// FREEBIE
2014-12-03 11:09:37 -08:00
Moxie Marlinspike
b802994809
Do a timestamp comparison on unregister events.
...
// FREEBIE
2014-12-03 11:09:01 -08:00
Moxie Marlinspike
ac96f906b3
Bump version to 0.25
...
// FREEBIE
2014-12-02 15:37:40 -08:00
Moxie Marlinspike
cc395e914f
Fix APN push payload.
...
// FREEBIE
2014-12-01 14:01:53 -08:00
Moxie Marlinspike
f8063f8faf
Add feedback handler.
...
// FREEBIE
2014-12-01 13:27:06 -08:00
Moxie Marlinspike
958ada9110
Bump dropwizard version.
...
// FREEBIE
2014-12-01 12:10:14 -08:00
Moxie Marlinspike
3452ea29b8
Use push microservice instead of doing push directly.
...
// FREEBIE
2014-12-01 11:23:29 -08:00
Moxie Marlinspike
675b6f4b5e
Update APN payload.
...
// FREEBIE
2014-11-27 18:20:23 -08:00
Moxie Marlinspike
4fab67b0f5
Switch to production APN endpoint.
...
// FREEBIE
2014-11-27 16:25:02 -08:00
Moxie Marlinspike
8a2131416d
Bump version to 0.24
...
// FREEBIE
2014-11-27 16:24:27 -08:00
Moxie Marlinspike
2525304215
Account for websocket-resources changes.
...
// FREEBIE
2014-11-15 09:48:09 -08:00
Moxie Marlinspike
fdb35d4f77
Switch to WebSocket-Resources
...
// FREEBIE
2014-11-14 17:59:50 -08:00
Moxie Marlinspike
222c7ea641
Support for signature token based account verification.
2014-11-13 14:56:24 -08:00
Moxie Marlinspike
8f2722263f
Bump version to 0.23
2014-11-04 19:33:07 -08:00
Moxie Marlinspike
fd662e3401
Add vacuum command.
...
// FREEBIE
2014-11-04 19:32:35 -08:00
Moxie Marlinspike
bc65461ecb
Bump version to 0.22
2014-10-01 15:03:25 -07:00
Moxie Marlinspike
30017371df
Reconnect even when Smack thinks it doesn't need to.
2014-10-01 14:07:12 -07:00
Moxie Marlinspike
b944b86bf8
Bump version to 0.21
...
// FREEBIE
2014-07-30 11:45:45 -07:00
Moxie Marlinspike
6ba8352fa6
Update sample config to include GCM senderId
...
// FREEBIE
2014-07-30 11:38:23 -07:00
Moxie Marlinspike
aadf76692e
Bump version to 0.20
...
// FREEBIE
2014-07-30 11:36:54 -07:00
Moxie Marlinspike
c9a1386a55
Fix for PubSub channel.
...
1) Create channels based on numbers rather than DB row ids.
2) Ensure that stored messages are cleared at reregistration
time.
2014-07-26 20:41:25 -07:00
Moxie Marlinspike
4eb88a3e02
Server side support for delivery receipts.
2014-07-25 15:48:34 -07:00
Moxie Marlinspike
160c0bfe14
Switch from Java serialization to JSON for memcache storage.
2014-07-23 18:02:35 -07:00
Moxie Marlinspike
4cd098af1d
Switch to GCM CCS and add support for APN feedback processing.
2014-07-23 18:00:49 -07:00
Moxie Marlinspike
362abd618f
Bump version to 0.19
...
// FREEBIE
2014-07-21 01:20:57 -07:00
Moxie Marlinspike
69de9f6684
Fix stored message retrieval.
...
// FREEBIE
2014-07-21 01:20:14 -07:00
Moxie Marlinspike
2aa379bf21
Bumping version to 0.18
...
// FREEBIE
2014-07-17 11:05:38 -07:00
Moxie Marlinspike
820a2f1a63
Break FederationController into V1 and V2
2014-07-16 17:24:01 -07:00
Moxie Marlinspike
6fac7614f5
Allow device to query their currently stored signed prekey.
2014-07-16 14:44:00 -07:00
Moxie Marlinspike
b724ea8d3b
Renamed 'device key' to 'signed prekey'.
2014-07-11 10:37:19 -07:00
Moxie Marlinspike
06f80c320d
Introduce V2 API for PreKey updates and requests.
...
1) A /v2/keys controller.
2) Separate wire protocol PreKey POJOs from database PreKey
objects.
3) Separate wire protocol PreKey submission and response POJOs.
4) Introduce a new update/response JSON format for /v2/keys.
2014-07-10 18:06:45 -07:00
Moxie Marlinspike
d9de015eab
Bump version to 0.17
2014-07-10 17:45:11 -07:00
Moxie Marlinspike
dd36c861ba
Pipeline directory update redis flow for a 10x speedup.
2014-07-10 17:31:39 -07:00
Moxie Marlinspike
b34e46af93
Bump version to 0.16
2014-06-30 12:18:39 -07:00
Moxie Marlinspike
405802c492
Get JSON metrics response code.
2014-06-30 12:18:16 -07:00
Moxie Marlinspike
e15f3c9d2b
By default, dont try to gunzip
2014-06-29 19:48:47 -07:00
Moxie Marlinspike
885af064c9
Support unrecognized properties.
2014-06-29 18:16:43 -07:00
Moxie Marlinspike
40529dc41f
Fix JSON reporter.
2014-06-27 19:49:21 -07:00
Moxie Marlinspike
2452f6ef8a
Fix dependency conflicts.
2014-06-27 19:48:49 -07:00
Moxie Marlinspike
4c543e6f06
Update websocket close codes to comply with RFC
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
bc5fd5d441
Update sample config
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
7a33cef27e
Updated iOS message delivery.
...
1) Use WebSockets for delivery if a client is connected.
2) If a client isn't connected, write to a redis queue and send
an APN push.
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
b433b9c879
Upgrade to dropwizard 0.7.
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
5d169c523f
Bump version to 0.13
2014-06-25 21:52:07 -07:00
Moxie Marlinspike
98d277368f
Final migration step, remove identity_key column from keys table.
2014-06-25 21:51:22 -07:00
Moxie Marlinspike
3bd58bf25e
Bumping version to 0.12
2014-06-25 21:27:00 -07:00
Moxie Marlinspike
ba05e577ae
Treat account object as authoritative source for identity keys.
...
Step 3 in migration.
2014-06-25 21:26:25 -07:00
Moxie Marlinspike
4206f6af45
Bumping version to 0.11
2014-06-25 18:55:54 -07:00
Moxie Marlinspike
0c5da1cc47
Schema migration for identity keys.
2014-06-25 18:55:26 -07:00
Moxie Marlinspike
d9bd1c679e
Bump version to 0.10
2014-06-25 11:36:12 -07:00
Moxie Marlinspike
437eb8de37
Write identity key into 'account' object.
...
This is the beginning of a migration to storing one identity
key per account, instead of the braindead duplication we're
doing now. Part one of a two-part deployment in the schema
migration process.
2014-06-25 11:34:54 -07:00
Moxie Marlinspike
f14c181840
Add host system metrics.
2014-04-12 14:14:18 -07:00
Moxie Marlinspike
d46c9fb157
Bump version to 0.9
2014-04-04 21:14:53 -07:00
Moxie Marlinspike
6913e4dfd2
Add contacts histogram and directory controller test.
2014-04-04 20:19:12 -07:00
Moxie Marlinspike
aea3f299a0
JSON metrics reporting.
2014-03-19 14:31:31 -07:00
Moxie Marlinspike
5667476780
Bump version to 0.7
2014-03-19 10:02:46 -07:00
Moxie Marlinspike
b263f47826
Support for querying PreKey meta-information.
2014-03-18 18:46:00 -07:00
Moxie Marlinspike
21723d6313
Bump version to 0.6
2014-03-06 22:53:43 -08:00
Moxie Marlinspike
a63cdc76b0
Disallow registration from clients registered on another relay.
2014-02-25 17:04:46 -08:00
Moxie Marlinspike
129e372613
Fix for federated message flow to support source IDs.
2014-02-23 18:24:48 -08:00
Moxie Marlinspike
53de38fc06
Directory update bug fix.
2014-02-21 11:34:43 -08:00