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
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
c91d5c2fdb
Count reported messages per sender
2021-10-19 11:47:54 -04: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
3032415141
Add receipt redemption API to chat server
2021-10-01 12:44:47 -05: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
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
624e40e3b7
Add separate AccountsDatabaseCrawler for DynamoDB migration
2021-09-10 11:14:11 -07:00
Ehren Kret
aa1c37fe26
Create configuration for badges
2021-09-10 10:14:16 -05:00
Jon Chambers
b946c27a20
Remove a metric aggregator
2021-08-27 11:52:11 -04:00
Ehren Kret
b0667b258b
Implement EnterpriseRecaptchaClient
2021-08-02 13:14:44 -05:00
Jon Chambers
32a95f96ff
Add a pessimistic locking system for operations on recently-deleted account records
2021-07-16 16:52:58 -04:00
Chris Eager
819d59cd79
Update reconciliation crawler to use secondary index
2021-07-02 15:05:11 -05:00
Chris Eager
a315c9be92
Add DeletedAccounts DynamoDB table
2021-07-02 15:05:11 -05: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
ca876e40ca
Add a second metric aggregator.
2021-06-03 14:12:02 -04:00
Jon Chambers
f8c623074b
Introduce an ASN-to-IP manager.
2021-05-18 17:43:30 -04:00
Chris Eager
e320626c6e
Add report message API
2021-05-13 17:19:34 -05:00
Jon Chambers
46110d4d65
Add client challenges for prekey and message rate limiters
2021-05-11 16:21:32 -05:00
Ehren Kret
02d06af3fc
Replace use of MDC with custom fields on the appender
2021-05-11 14:08:20 -05:00
Ehren Kret
670b69df24
Add host and service tags
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
b81b811400
Actually instantiate the Tor exit node manager.
2021-05-06 12:21:30 -04:00
Chris Eager
4f6b132449
Add secondaryCacheCluster to RateLimiter
2021-04-30 15:26:17 -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
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
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
d4d9403829
Add a Dynamo-backed key store.
2021-02-04 15:18:53 -05: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
Moxie Marlinspike
92f6a79e1f
Add a dynamic configuration manager
2021-02-01 11:01:58 -05:00
Jon Chambers
611e8c39ee
Actually drop feature flag config.
2021-01-25 15:20:06 -05:00
Jon Chambers
943a5d1036
Shard push scheduling cache
2021-01-19 15:50:12 -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
67ed035b36
Retry serializable key transactions.
2021-01-13 17:38:29 -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
Curt Brune
39c09733d3
Add /v1/payments/auth endpoint
2020-10-08 10:51:01 -04:00
Jon Chambers
1ef3546822
Add support for server-side feature flags
2020-08-26 20:27:33 -04:00
Jon Chambers
a709a3bcc0
Remove a candidate metric provider.
2020-08-20 15:40:56 -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
eea073f882
Decommission the old cache.
2020-07-28 10:29:28 -04:00
Ehren Kret
89bafea61f
Move SMS strings to configuration
2020-07-27 11:23:21 -05:00
Jon Chambers
4cc5999f05
Configure additional metric aggregators.
2020-07-23 13:31:19 -04:00
Jon Chambers
fe1054d58a
Introduce a Lettuce-based fault-tolerant Redis cluster accessor.
2020-06-06 20:37:48 -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
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
Moxie Marlinspike
4f64513c83
Break out redis pubsub into dedicated cluster
2020-03-16 17:44:42 -07:00