Jon Chambers
9a1da23bdb
Add an isEphemeral dimension to message delivery latency metrics
2025-06-10 17:05:46 -05:00
ravi-signal
4ffd164461
Wire up the direct noise tunnel
2025-06-10 16:56:31 -05:00
Jon Chambers
904cc63a72
Clarify that OutgoingMessageEntity#toEnvelope is a test-only method
2025-06-10 16:55:13 -05:00
Ravi Khadiwala
177c36b0d6
Fix backup metric names and use remote aggregation
2025-06-10 16:54:45 -05:00
Jon Chambers
5fc6bdd478
Add a device capability for sparse post-quantum ratchet (SPQR)
2025-06-10 16:54:30 -05:00
Jon Chambers
ca6e5fb0a8
Hide model validation methods in API docs
2025-06-06 16:19:48 -04:00
Jon Chambers
1a7a446150
Regenerate phone number identifiers when regenerating secondary table data
2025-06-05 15:12:33 -04:00
Ameya Lokare
981d929f50
Extend ChannelCircuitBreakerHandler with ChannelOutboundHandlerAdapter
...
instead of ChannelDuplexHandler
2025-06-05 12:00:21 -05:00
Ravi Khadiwala
4a3eb642c0
Remove unused S3Client
2025-06-05 11:49:03 -05:00
Ameya Lokare
a1b0c1a4aa
Update to the latest version of the spam filter
2025-06-04 10:53:16 -07:00
Chris Eager
0f185a528d
Add isUrgent tag to message delivery latency metrics
2025-06-04 10:51:05 -07:00
Ravi Khadiwala
aef7f3fef8
Avoid generating invalid deviceId in unit test
2025-06-04 12:49:23 -05:00
Ravi Khadiwala
1767586797
Add metrics for opk upload size
2025-06-04 10:46:11 -07:00
Ameya Lokare
60be6de9af
Trivial: Add missing @Mutable annotation to setPublicKey
2025-06-03 18:13:39 -07:00
Jonathan Klabunde Tomer
2a7551cca5
support REST deprecation by platform for all requests with % rollout
2025-05-29 16:15:19 -07:00
Jonathan Klabunde Tomer
36439b5252
call ThreadLocalRandom.current at point of use only
2025-05-29 16:15:05 -07:00
ravi-signal
bbee80dbd0
Fix class cast exceptions with SchedulingUtil
2025-05-29 16:14:23 -07:00
Ravi Khadiwala
a7ea42adc3
Add a crawler to recalculate quota usage
2025-05-28 15:49:55 -05:00
Ravi Khadiwala
4dc3b19d2a
Track backup metrics on refreshes
2025-05-28 15:28:55 -05:00
ravi-signal
030d8e8dd4
Reduce drift between tracked and actual backup usage
2025-05-28 15:25:32 -05:00
Chris Eager
401165d0d6
Convert unidentifiedDelivery.certificate configuration to byte[]
2025-05-27 14:55:14 -05:00
Chris Eager
ccb209ad37
Consolidate avatar deletion logic in ProfilesManager
2025-05-27 13:46:41 -05:00
Chris Eager
c1a66e0418
Delete avatars in ProfilesManager#deleteAll
2025-05-27 13:46:41 -05:00
Jon Chambers
8491d18413
Revert "Count API calls by authentication status"
...
This reverts commit 9b835633ab .
2025-05-27 13:51:17 -04:00
Jon Chambers
9b835633ab
Count API calls by authentication status
2025-05-27 11:59:28 -04:00
Jon Chambers
fbbc4b8b27
Get integration test configuration directly from a GitHub Actions variable
2025-05-21 14:42:14 -04:00
Jonathan Klabunde Tomer
74ee1c8c4f
Update to the latest version of the spam filter
2025-05-21 10:46:18 -07:00
Jonathan Klabunde Tomer
35604cf151
Simplify rate limiters by making them all dynamic
2025-05-21 10:29:26 -07:00
Ravi Khadiwala
aafcd63a9f
Decrease the page size for OPK queries
...
A single element is almost always enough
2025-05-20 11:21:20 -04:00
Jon Chambers
43a534f05b
Add a command for regenerating account constraint tables
2025-05-20 11:21:02 -04:00
Jon Chambers
9ec66dac7f
Make getRegistrationId identity-type-aware
2025-05-14 14:39:11 -04:00
Jon Chambers
13fc0ffbca
Assume that PNI registration IDs are always present on Device records
2025-05-14 14:39:11 -04:00
Jon Chambers
93ba6616d1
Perform device list validations in the scope of a pessimistic account lock
2025-05-14 14:39:11 -04:00
Jon Chambers
a4b98f38a6
Use a Callable for tasks performed within the scope of a pessimistic lock
2025-05-14 14:39:11 -04:00
Jon Chambers
b95d08aaea
Drop PqKeysUtil
2025-05-14 14:39:11 -04:00
Jon Chambers
b400d49e77
Require PQ keys when changing numbers or distributing key material
2025-05-14 14:39:11 -04:00
Jon Chambers
e43487155f
Remove commands for removing accounts/devices without PQ or PNI key material
2025-05-14 14:39:11 -04:00
Jon Chambers
dee3723d97
Remove an unused user-agent argument
2025-05-14 14:39:11 -04:00
Jon Chambers
b7e986f43c
Add an integration test for changing phone numbers
2025-05-14 14:39:11 -04:00
Jon Chambers
664fb23e97
Resolve warnings/suggestions throughout AccountsTest
2025-05-14 11:30:59 -04:00
Chris Eager
714ef128a1
Compare using PNI in account reclamation
2025-05-13 16:41:42 -07:00
Ravi Khadiwala
7cf3fce624
Log unexpected account reclaim mismatches
2025-05-13 14:17:18 -05:00
ravi-signal
0cc5431867
Update noise-gRPC protocol errors
2025-05-13 14:16:23 -05:00
Ravi Khadiwala
b8d5b2c8ea
Match account idle duration in RemoveExpiredBackupsCommand
2025-05-13 14:15:50 -05:00
Ravi Khadiwala
894ca6d290
remove ANDROID_SKIP_LOW_URGENCY_PUSH_EXPERIMENT
2025-05-13 13:59:28 -05:00
Ravi Khadiwala
847b25f695
Add experiment to coalesce android notifications
2025-05-13 13:59:28 -05:00
Ravi Khadiwala
703a05cb15
Support scheduling background FCMs
2025-05-13 13:59:28 -05:00
Jon Chambers
30c194c557
Exclude RateLimitExceededException from fail-open checks
2025-05-12 15:24:57 -07:00
Jonathan Klabunde Tomer
cc7b030a41
Send disconnection requests after non-API device unlinks
2025-05-06 13:36:41 -07:00
Jon Chambers
7a91c4d5b7
Correct metric names
2025-05-05 13:53:22 -04:00
Jon Chambers
287da6e7e3
Ignore already-locked accounts in PNI key cleanup operations
2025-05-05 13:53:22 -04:00
Katherine
7cf89764e7
Update FullTreeHead to use FullAuditorTreeHead
2025-05-05 10:44:57 -07:00
Jon Chambers
d316c72beb
Add commands for removing accounts/devices without PNI key material
2025-05-05 12:10:47 -04:00
Katherine Yen
82d187cc45
Update key transparency protobufs
2025-05-02 10:40:53 -04:00
Jon Chambers
0c240d21d2
Update to the latest version of the spam filter
2025-05-02 10:40:07 -04:00
Jon Chambers
009252c831
Configure IP-keyed rate limiters to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
0c1146aaa5
Configure rate limiters with large initial capacities to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
4fd06594a0
Configure fast-regenerating rate limiters to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
4e175be88f
Allow the "inbound message bytes" limiter to fail open
2025-05-02 10:30:29 -04:00
Jon Chambers
771a700acd
Configure fail-open policy on individual rate limiters
2025-05-02 10:30:29 -04:00
Jon Chambers
e9bd5da2c3
Allow fail-open behavior for a wider range of exceptions
2025-05-02 10:30:29 -04:00
Jon Chambers
f64244f33a
Remove an unused TURN rate limiter
2025-05-02 10:30:29 -04:00
Ravi Khadiwala
ed1417c3e3
Update to the latest version of the spam filter
2025-04-30 15:06:03 -05:00
ravi-signal
0398e02690
Add NoiseDirect framing protocol
2025-04-30 15:05:05 -05:00
Chris Eager
e285bf1a52
Fix test by using generic exists command
2025-04-29 13:05:10 -05:00
Ameya Lokare
2c9219d4f7
Update to the latest version of the spam filter
2025-04-29 10:57:05 -07:00
Jon Chambers
26b3b75054
Only fetch last-resort PQ keys for accounts with linked devices
2025-04-28 16:59:08 -04:00
Jon Chambers
cdb651b68f
Add commands for removing devices without PQ keys
2025-04-28 15:45:27 -04:00
Ameya Lokare
91a36f4421
Update to the latest version of the spam filter
2025-04-28 11:59:43 -07:00
Jonathan Klabunde Tomer
21c1d71551
take advantage of list non-nullitude
2025-04-25 10:06:42 -05:00
Jonathan Klabunde Tomer
38befdb260
default lists to empty
2025-04-25 10:06:42 -05:00
Jonathan Klabunde Tomer
63c79173b2
limit prekey uploads to 100
2025-04-25 10:06:42 -05:00
Ameya Lokare
d2ad003891
Remove free memory and OS memory gauges
2025-04-25 10:05:29 -05:00
Chris Eager
eb89773819
Remove unused parameter
2025-04-25 10:05:18 -05:00
Chris Eager
403abd84f6
Run test action on pull_request events
2025-04-25 10:05:08 -05:00
Jon Chambers
f62f79c95c
Add a counter for cases where clients use both an authenticated identity and UAK when fetching profiles
2025-04-24 11:47:43 -04:00
Jon Chambers
144c4c9223
Add a "sync" dimension to the "sent message" counter
2025-04-24 10:33:39 -05:00
Ravi Khadiwala
ab4fc4f459
Add skip low urgency push experiment
2025-04-24 10:32:46 -05:00
Jonathan Klabunde Tomer
51569ce0a5
Use cached partition topology for metrics/logs
2025-04-24 08:29:58 -07:00
Jon Chambers
f191c68efc
Close remote connections only after all active server calls have completed
2025-04-22 17:00:48 -04:00
Jon Chambers
bb8ce6d981
Introduce ClosableEpoch
2025-04-22 17:00:48 -04:00
Katherine
e0ee75e0d0
Fix Daylight Savings bug in recommended notification time calculation
2025-04-22 16:56:10 -04:00
Jon Chambers
1ef3a230a1
Tag queue size distribution with client platform
2025-04-22 16:55:16 -04:00
Jon Chambers
b1805d4bf1
Add a "persisted bytes" counter
2025-04-22 16:55:16 -04:00
Jon Chambers
cac979c7fd
Count individual persisted messages
2025-04-22 16:55:16 -04:00
Jon Chambers
4072dcdda5
Introduce DevicePlatformUtil
2025-04-22 16:55:16 -04:00
Jonathan Klabunde Tomer
ed382fff6d
log slot number and shard host of message persister failures
2025-04-22 16:55:16 -04:00
Jon Chambers
23bb8277d5
Update to the latest version of the spam filter
2025-04-18 15:56:17 -04:00
Jon Chambers
8099d6465c
Clarify guarantees around remote channnel/request attribute presence
2025-04-18 15:44:21 -04:00
Jon Chambers
28a0b9e84e
Include a TURN credential TTL for clients in GetCallingRelaysResponse
2025-04-17 10:30:58 -04:00
Chris Eager
9287aaf7ce
Add app info to Stripe API calls
2025-04-17 09:30:34 -05:00
Chris Eager
0585f862cb
Add regression test for set profile badges calculation
2025-04-17 09:29:11 -05:00
Chris Eager
7cac6f6f72
Remove extraneous account fetch in POST /v1/donation/redeem-receipt
2025-04-17 09:28:57 -05:00
Jon Chambers
57be4d798b
Add a counter for attempts to send empty message lists
2025-04-17 10:27:46 -04:00
Jon Chambers
05c74f1997
Simplify UserAgentUtil
2025-04-17 10:27:24 -04:00
Jon Chambers
f5e49b6db7
Convert UserAgent to a record
2025-04-15 14:58:09 -04:00
Jon Chambers
3c40e72d27
Fix registration ID map construction when changing numbers
2025-04-15 14:57:28 -04:00
Ravi Khadiwala
2f2ae7cec5
simplify story tag calculation
2025-04-11 14:04:09 -05:00
Chris Eager
b236b53dc3
set profile: move updated badge calculation into account updater lambda
2025-04-11 14:03:05 -05:00
Katherine
eb71e30046
Update to protobuf 4.x
2025-04-10 13:05:23 -04:00
Jon Chambers
aa5fd52302
Explicitly pass sync message sender device ID as an argument to sendMessage
2025-04-10 11:40:32 -04:00
Jon Chambers
d6bc2765b6
Close gRPC channels from a copied list to avoid concurrent modification issues
2025-04-09 21:54:18 -04:00
Jon Chambers
01258de560
Throw a MismatchedDevicesException for empty message lists to support iOS clients
2025-04-09 21:53:58 -04:00
Jon Chambers
3af2cc5c70
Add tests for spam-reporting token presence
2025-04-09 14:24:34 -04:00
Jon Chambers
2278842531
Add gRPC endpoints for sending messages from identified/authenticated senders
2025-04-09 14:24:34 -04:00
Jon Chambers
60ab00ecc6
Specify bounds for message timestamps
2025-04-09 14:24:20 -04:00
Jon Chambers
1fb6d23500
Allow range validators to accept 64-bit min/max values
2025-04-09 14:24:20 -04:00
Jon Chambers
8d8a2a5583
Extract common message-sending methods into a shared utility class
2025-04-08 17:39:45 -04:00
Jon Chambers
caa81b4885
Implement story sending via gRPC
2025-04-08 17:30:33 -04:00
Jon Chambers
37c4a0451a
Simplify returning spam responses from gRPC
2025-04-08 17:30:33 -04:00
Jon Chambers
11df8fcc6c
Add gRPC endpoints for sending unauthenticated (i.e. sealed-sender) messages
2025-04-08 17:30:33 -04:00
Jon Chambers
5a7f4d8381
Make the utility method for checking group send credentials blocking
2025-04-08 17:30:33 -04:00
Jon Chambers
1f1e4c72ec
Add simple-grpc as a dependency/generator
2025-04-08 17:30:33 -04:00
Jon Chambers
02a5a6b55f
Subdivide MessageController's message-sending methods into message-type-specific methods
2025-04-08 10:22:07 -04:00
Ameya Lokare
58ad647d29
Update to the latest version of the spam filter
2025-04-07 11:25:49 -07:00
Jon Chambers
099073356c
Make destination service identifiers for spam checks non-optional
2025-04-07 11:12:07 -07:00
Chris Eager
37038c4a63
Keep a strong reference to expiration in Gauge
2025-04-07 13:10:41 -05:00
Jon Chambers
ffa98e5b34
Reduce and centralize message-sending metrics
2025-04-07 11:08:53 -04:00
Jon Chambers
6013d00654
Introduce a distinct UA for server-generated messages
2025-04-07 11:01:01 -04:00
Jon Chambers
c03d63acb8
Centralize message size validation in actual message-sending methods
2025-04-07 11:01:01 -04:00
Jon Chambers
c6689ca07a
Internalize destination device list/registration ID checks in MessageSender
2025-04-07 09:15:39 -04:00
Chris Eager
1d0e2d29a7
Update javax.ws Javadoc references to jakarta.wx
2025-04-07 09:11:36 -04:00
Ameya Lokare
d83d826236
Use expire NX on cardinality estimator key
2025-04-07 09:11:24 -04:00
Chris Eager
2efe687b4b
Add TlsCertificateExpirationUtil
2025-04-07 09:10:48 -04:00
Katherine Yen
7cabc8f328
Update to the latest version of the spam filter
2025-04-03 12:27:43 -04:00
Katherine
b57bdcaaea
Dependency updates for Q2 2025
2025-04-03 12:05:51 -04:00
Chris Eager
041643783d
Add libsignal tag to MetricsHttpChannelListener
2025-04-03 11:05:20 -05:00
Jon Chambers
ed75ef917a
Update to the latest version of the spam filter
2025-04-02 13:27:49 -04:00
Jon Chambers
7ea0885474
Accommodate gRPC in the SpamChecker interface
2025-04-02 13:16:55 -04:00
Jon Chambers
488e7c4913
Update to the latest version of the spam filter
2025-04-02 09:00:35 -04:00
Jon Chambers
6af4d41322
Enumerate rate limit challenge options
2025-04-02 08:48:43 -04:00
Ravi Khadiwala
2b07a21477
Add some additional backup metrics
2025-04-02 08:48:18 -04:00
Jon Chambers
4a42ff562d
Define authenticated and anonymous gRPC services for sending messages
2025-04-02 08:47:34 -04:00
Jon Chambers
d4031893cc
Make raw User-Agent strings available to gRPC services
2025-04-01 09:11:37 -04:00
Ravi Khadiwala
c2e3ab832c
enforce provisioning websocket timeouts
2025-03-26 16:28:51 -05:00
Ravi Khadiwala
8c2f3c839f
Fix calculation of backup staleness metric
2025-03-26 16:28:38 -05:00
Ravi Khadiwala
df188e6f15
Document behavior for deletes of non-existing objects
2025-03-26 16:26:18 -05:00
Jon Chambers
12576daf1f
Retire the (long-unused!) KEY_EXCHANGE envelope type
2025-03-26 11:32:23 -04:00
Chris Eager
46aefc0cbe
Add retry configuration to RemoveExpiredUsernameHoldsCommand
2025-03-25 11:46:05 -05:00
Chris Eager
9d4f9b4c12
Add retry configuration to RemoveExpiredBackupsCommand
2025-03-25 11:46:05 -05:00
Chris Eager
3591e6bebd
Add retry configuration to RemoveExpiredAccountsCommand
2025-03-25 11:46:05 -05:00
Chris Eager
e12ba6b15b
Reduce page size in MessagesDynamoDb#mayHaveUrgentMessages
2025-03-25 11:45:47 -05:00
Chris Eager
744b05244d
Add onErrorResume and retries to eligibility check in NotifyIdleDevicesCommand
2025-03-25 11:45:16 -05:00
Chris Eager
c22b8fafa6
Update AWS SDK to 2.31.7
2025-03-25 11:44:54 -05:00
Ameya Lokare
2194cf46e1
Remove jaxb and jaxb-api version pins
2025-03-24 16:37:34 -07:00
Jonathan Klabunde Tomer
1a46ac122a
add some tags to ProfileController.versionNotFound
2025-03-24 14:57:29 -07:00
Ameya Lokare
55f85a81c6
Update to the latest version of the spam filter
2025-03-24 13:26:53 -07:00
Chris Eager
5a8cb8a312
Revert "Skip shared multi-recipient message payloads for small messages"
...
This reverts commit db2cd20dcb .
2025-03-24 14:40:12 -05:00
Jon Chambers
d641d1fc39
Update to the latest version of the spam filter
2025-03-24 11:17:49 -04:00
Jon Chambers
df56c65b54
Validate device message sizes when distributing PNI keys
2025-03-24 10:58:38 -04:00
Jon Chambers
1346fcb59e
Require that incoming messages have content
2025-03-24 10:58:38 -04:00
Jon Chambers
50f681ffe8
Centralize message length validation
2025-03-24 10:58:38 -04:00
Jon Chambers
faef614d80
Parse message content as a byte array in request entities
2025-03-24 10:58:38 -04:00
Chris Eager
db2cd20dcb
Skip shared multi-recipient message payloads for small messages
2025-03-21 16:51:21 -05:00
Chris Eager
9ef6024291
Update to the latest version of the spam filter
2025-03-20 10:44:47 -05:00
Jon Chambers
a643a6c0f0
Always record inbound message byte rate limit events
2025-03-20 10:44:10 -05:00
Chris Eager
82e21b0c21
Remove obsolete turn implementations
2025-03-20 10:38:14 -05:00
Chris Eager
50e298a4f4
Add counter for Redis events
2025-03-20 10:37:18 -05:00
Chris Eager
a0b9c40f6c
Add JettySslHandshakeMetrics
2025-03-20 10:36:52 -05:00
Ravi Khadiwala
359cf02161
Add new attachmentBackfill capability
2025-03-19 16:03:40 -05:00
Chris Eager
6a1f01f876
Remove unused executor service
2025-03-13 14:49:04 -04:00
Jon Chambers
0595acc48f
Add a counter for messages removed from the message cache
2025-03-13 14:48:34 -04:00
Jon Chambers
46ff8d51dc
Switch to remote aggregation for persister distribution summaries
2025-03-13 14:48:34 -04:00
Jon Chambers
dcd80e11f4
Measure persisted message bytes
2025-03-13 14:48:34 -04:00
Jon Chambers
e1b1c7db8d
Normalize persister metric names; make metrics static final
2025-03-13 14:48:34 -04:00
Jon Chambers
99041bc593
Use a dedicated status code (and message) for "reauthentication required"
2025-03-13 14:48:17 -04:00
Ravi Khadiwala
dbd14481ed
Add a missing join to testTrimOnFullPrimaryQueue
2025-03-11 17:39:15 -05:00
ravi-signal
e3160bc717
Add a dedicated size estimation method to MessagesCache
2025-03-10 16:09:05 -05:00
Chris Eager
6798958650
Update autoPagingIterable() usage to remove null params
2025-03-08 09:08:27 -08:00
Chris Eager
3a90c572b4
Ensure customer ID matches in StripeManager#cancelAllActiveSubscriptions
2025-03-08 08:35:43 -08:00
ravi-signal
eab3c36d83
Dont discard ephemeral messages beyond what the persister consumes
2025-03-07 15:27:03 -06:00
Ravi Khadiwala
b7fee7b426
Allow cancellation of an expired purchaseToken
2025-03-07 15:26:33 -06:00
ravi-signal
469955aec9
Treat a 410 for an IAP token as not found
2025-03-07 15:24:33 -06:00
Chris Eager
d1c9dff2c5
Use WhisperServerService as base name for executor service metrics
2025-03-07 15:23:51 -06:00
Jonathan Klabunde Tomer
9491ebbe90
remove versionedExpirationTimer
2025-03-06 08:20:06 -08:00
Ravi Khadiwala
09b50383d7
Automatically trim primary queue when cache cannot be persisted
2025-03-05 15:56:00 -06:00
Jon Chambers
8517eef3fe
Add a "critical" warning tier for primary devices missing PQ keys
2025-03-05 08:51:10 -05:00
Jon Chambers
8955e31a1e
Configure an "idle primary device reminder" interceptor
2025-03-04 08:35:01 -05:00
Jon Chambers
f7a3971c64
Add an authentication interceptor that adds alert headers for idle primary devices
2025-03-04 08:35:01 -05:00
Jon Chambers
552079d3c2
Add an interceptor interface for WebSocket authentication
2025-03-04 08:35:01 -05:00
Chris Eager
59d984e25d
Add pqKeyAvailable tag to GetKeys metric
2025-03-04 08:02:05 -05:00
Jonathan Klabunde Tomer
d17b9322b7
remove old AAACertificateServices root too
2025-03-04 08:01:53 -05:00
Jonathan Klabunde Tomer
12bc175776
remove expired GeoTrust certificate from push trust store
2025-03-04 08:01:53 -05:00
Ravi Khadiwala
376458efa8
remove extra FCM QUOTA_EXCEEDED logging
2025-03-04 08:01:38 -05:00
Adel Lahlou
886984861f
remove performance based turn routing from CallRoutingControllerV2
2025-03-04 08:01:18 -05:00
Jon Chambers
b248b6bc12
Add the new APNs certificate to our trust store
2025-02-24 16:24:17 -05:00
ravi-signal
8d0d0d61f1
Add reregistration flag to account creation response
2025-02-21 14:13:04 -06:00
Ravi Khadiwala
26c348520f
Revert "Add a 2-notification ttl=0 push notification experiment"
...
This reverts commit 4908a0aa9e .
2025-02-21 14:07:07 -06:00
Ravi Khadiwala
ec79386306
Only accept backup receipt redemption when account has a backup credential request
2025-02-21 14:06:51 -06:00
Katherine
093ac6fb16
Align UpdateValue proto with the KT service's definition
2025-02-21 12:00:33 -08:00
Ravi Khadiwala
68e2c511b7
Split up backup-id rotation rate limits
2025-02-18 10:52:43 -06:00
Ravi Khadiwala
47c82b42d9
Check push tokens for primary device platform tags
2025-02-18 10:49:49 -06:00
Ravi Khadiwala
e1a3b48c6e
Only set X-Signal-Agent if present
2025-02-18 10:49:26 -06:00
Jon Chambers
b8b17ae473
Add methods for iterating over all account identifiers
2025-02-18 11:46:00 -05:00
Chris Eager
b203344ed4
Only log unexpected MRM retrieval errors
2025-02-18 10:45:04 -06:00
Chris Eager
6d30a45017
Discard stale messages from MessagesCache#getMessagesToPersist
2025-02-14 12:06:15 -06:00
Chris Eager
3f9863c441
Discard mrm messages that can never be sent
2025-02-14 12:06:15 -06:00
Chris Eager
47294ef6b8
Update README.md
2025-02-13 17:18:50 -06:00
Ravi Khadiwala
2356d7c629
Add primary platform tag to transfer archive metrics
2025-02-13 10:25:41 -06:00
ravi-signal
4908a0aa9e
Add a 2-notification ttl=0 push notification experiment
2025-02-13 10:25:25 -06:00
Jon Chambers
6032764052
Validate parsed message size, not base64-encoded message size
2025-02-10 14:13:24 -08:00
Jonathan Klabunde Tomer
908a41814b
correct some theoretical bugs in unresolved service ID collection
2025-02-10 14:13:11 -08:00
Jon Chambers
3ae145bd60
Add isStory and isSyncMessage dimensions to message size metrics
2025-02-10 09:08:40 -08:00
Jonathan Klabunde Tomer
b086a73353
Return 200 and unregistered recipient list for multi-recipient send with GSEs
2025-02-10 09:08:21 -08:00
Ravi Khadiwala
794e254d90
Add null check to FCM error log condition
2025-02-07 13:48:36 -06:00
Ravi Khadiwala
760c5737f9
Add field to RestoreAccountRequest for device transfer initialization
2025-02-07 13:43:57 -06:00
Jonathan Klabunde Tomer
ea17eee320
Make logging of message delivery loops configurable, default off
2025-02-07 13:43:28 -06:00
Adel Lahlou
09ce79bd43
Remove /v1/calling/relays API endpoint
2025-02-07 13:41:59 -06:00
Chris Eager
2dfd17af4a
Add counter with WebSocket close codes
2025-02-07 13:41:37 -06:00
Ravi Khadiwala
a9975e524b
Add logs to FCM quota failures
2025-02-07 13:41:14 -06:00
Jonathan Klabunde Tomer
5d062285c2
Filter to block old REST API for specified client versions
2025-02-05 12:26:47 -08:00
Chris Eager
e4b0f3ced5
Use HTTP status code if FCM error code is unavailable
2025-02-05 14:17:05 -06:00
Jon Chambers
6545bb9edb
Update to the latest version of the spam filter
2025-01-31 12:58:16 -05:00
Jon Chambers
70ce6eff9e
Include ephemeral flag in individual messages
2025-01-31 12:57:54 -05:00
Chris Eager
c84d96abee
Remove deprecated svr3Credentials field
2025-01-31 11:57:15 -06:00
Chris Eager
09eb42e5c6
Add tag for requests made with libsignal
2025-01-31 11:56:56 -06:00
Chris Eager
06388b514c
Add timeout to GitHub test action
2025-01-31 11:56:39 -06:00
Jon Chambers
7c17a4067c
Update to the latest version of the spam filter
2025-01-31 10:34:14 -05:00
Jon Chambers
48ada8e8ca
Clarify roles/responsibilities of components in the message-handling pathway
2025-01-31 10:24:50 -05:00
Ravi Khadiwala
282bcf6f34
Add persistent timer utility backed by redis
2025-01-29 11:32:13 -06:00
Ravi Khadiwala
1446d1acf8
Fix blocking call in waitForLinkedDevice
2025-01-29 11:32:13 -06:00
Ravi Khadiwala
aae94ffae3
Add a timer to waitForTransferArchive
2025-01-29 11:32:13 -06:00
Ameya Lokare
ebd906a45d
Update to the latest version of the spam filter
2025-01-28 12:21:09 -08:00
Ravi Khadiwala
e30beb9c9f
Remove ZeroTtlDevicePushNotificationExperiment
2025-01-27 16:24:50 -06:00
Ravi Khadiwala
5a2e297991
Add ZeroTtlDevicePushNotificationExperiment
2025-01-27 12:58:28 -06:00
adel-signal
ae1e7fbaa0
Return empty lists instead of null in GetCallingRelaysV2
2025-01-24 17:33:45 -05:00
adel-signal
7e616a4056
Update calling routing to return urls only, no instance IPs
2025-01-24 13:46:32 -05:00
Chris Eager
c9e192564c
Add fail-fast HMAC init to RegistrationServiceClient constructor
2025-01-22 18:20:45 -06:00
Chris Eager
47550d48e7
Add collation key to registration service session creation rpc call
2025-01-22 17:43:53 -06:00
Chris Eager
5cc76f48aa
Add CoinGecko to CurrencyConversionManager
2025-01-19 09:37:38 -06:00
Katherine
3ceaa8bd20
Remove authentication via query parameters for websocket upgrade requests
2025-01-15 14:06:46 -05:00
Ameya Lokare
790b9bbf01
Update to the latest version of the spam filter
2025-01-14 12:38:44 -08:00
ravi-signal
ee1016523f
Add request information to createPayPalOneTimePayment failure log
2025-01-14 09:45:22 -05:00
Katherine
2f51778421
Use camel casing for entry position field on key transparency monitor requests
2025-01-14 09:45:08 -05:00
Katherine Yen
d3d68c2a60
Enforce one entry position per identifier in monitor request
2025-01-10 10:06:31 -05:00
Jon Chambers
0628b3e41c
Update chat service dependencies
2025-01-10 10:04:40 -05:00
Jon Chambers
eac183495a
Update deployment Docker image
2025-01-10 10:04:40 -05:00
Jon Chambers
0ae02da9be
Update GitHub Actions versions
2025-01-10 10:04:40 -05:00
Jon Chambers
90fe634ddd
Update to the latest version of Maven
2025-01-10 10:04:40 -05:00
Ravi Khadiwala
1cae841ed6
Remove deprecated /v1/accounts/turn
2025-01-10 10:04:25 -05:00
Ravi Khadiwala
a88560e557
Add gRPC backup services
2025-01-08 16:13:51 -06:00
Ravi Khadiwala
3ca9a66323
Stripe HTTP2 clients in CloudflareTurnCredentialsManager
2025-01-08 16:02:22 -06:00
Chris Eager
3a4a55c245
Reject old-format Benin numbers, which are now undeliverable
2025-01-07 12:16:44 -06:00
Jonathan Klabunde Tomer
f4a243861c
count messages between 8KiB and 256KiB
2025-01-03 10:18:55 -05:00
Jon Chambers
68209f270e
Correct message topology in test JSON
2025-01-03 10:18:24 -05:00
Jon Chambers
8af939d320
Validate message timestamps
2025-01-03 10:18:24 -05:00
Jon Chambers
16a50935ea
Add (failing!) tests for message timestamp validation
2025-01-03 10:18:24 -05:00
Chris Eager
24ea10c451
Add documentation annotations to /v1/config
2025-01-02 17:07:38 -06:00
Chris Eager
95abda4870
Remove Response wrapper from /v2/directory/auth
2025-01-02 17:07:26 -06:00
Chris Eager
c8993c4da8
Add documentation for /v2/directory/auth
2025-01-02 13:12:38 -06:00
Chris Eager
d096798340
Add documentation to /v1/storage/auth
2025-01-02 13:12:38 -06:00
Chris Eager
f2f5e0e26f
Add documentation annotation to /v2/accounts/phone_number_discoverability
2024-12-27 12:24:00 -08:00
Chris Eager
9121032114
FaultTolerantRedisClusterClientTest: increase blpop timeouts to make tests more reliable
2024-12-27 12:23:49 -08:00
Jonathan Klabunde Tomer
541bf968e5
remove support for GET /v1/accounts/me
2024-12-27 12:23:14 -08:00
Chris Eager
8c3ebdcbab
Remove obsolete ArtController
2024-12-20 12:18:45 -06:00
Ameya Lokare
0593e9e89f
Add @NotBlank to verificationToken in LinkDeviceRequest
2024-12-20 10:18:11 -08:00
Ameya Lokare
0d412c88fd
OpenAPI spec for VerificationController endpoints
2024-12-20 10:17:03 -08:00
Chris Eager
8280106493
Remove unused SVR3 controller and client
2024-12-20 12:14:50 -06:00
Ravi Khadiwala
a3e106fe04
Fix flaky websocketTimeoutNoHeader test
2024-12-18 19:07:50 -06:00
Chris Eager
981a04f33b
Update lettuce to 6.5.1.RELEASE
2024-12-18 18:52:00 -06:00
Ameya Lokare
26025e5abd
Rename preRegistrationExperiments to e164Experiments
2024-12-18 18:49:34 -06:00
Jon Chambers
4839a5ba70
Enable/disable AWS SDK metrics via dynamic configuration
2024-12-18 18:49:05 -06:00
ravi-signal
85a1550485
Catch and log unexpected createPayPalOneTimePayment responses
2024-12-18 18:46:46 -06:00
ravi-signal
77658415b2
Handle stripe amount_too_large errors
2024-12-18 18:46:22 -06:00
ravi-signal
68f27be7cd
Add opt-in timeouts to provisioning websocket
2024-12-18 18:45:53 -06:00
Ravi Khadiwala
6460327372
Return 409 when setting a payment method that hasn't finished initialization
2024-12-17 12:56:31 -05:00
Jon Chambers
a96c0ec7a3
Enqueue async operations from a dedicated thread
2024-12-17 12:54:41 -05:00
Ravi Khadiwala
33c0a27b85
Add current entitlements to whoami response
2024-12-12 12:56:44 -06:00
Ravi Khadiwala
d5b39cd496
Add utility method for creating AccountIdentityResponse
2024-12-12 12:40:43 -06:00
Ravi Khadiwala
5a35d69ed0
Fix 409/410 docs in /v1/messages/
2024-12-12 12:36:54 -06:00
Ravi Khadiwala
e1e94a33e2
Stop writing non tag-set field
2024-12-12 12:36:37 -06:00
Ravi Khadiwala
18c9b177f3
Relax issuing constraints in IssuedReceiptManager
2024-12-10 11:47:44 -06:00
Ravi Khadiwala
1970741049
Remove IssuedReceiptMigrationCommand
2024-12-10 11:46:17 -06:00
Ravi Khadiwala
f16428ce2a
Register IssuedReceiptMigrationCommand
2024-12-10 11:46:17 -06:00
Ravi Khadiwala
14427523ae
Add a tag->tag-set migration command
2024-12-06 14:54:45 -06:00
Ravi Khadiwala
236b0496d3
Write a set field in IssuedReceiptsManager
2024-12-06 14:53:10 -06:00
Ravi Khadiwala
f68ddf66e9
Day align DeviceCheck backup vouchers
2024-12-06 14:52:50 -06:00
Jon Chambers
20685b6d69
Clear "canceled at" timestamp when setting a new subscrition ID
2024-12-06 15:51:57 -05:00
Jon Chambers
4988b4e0f5
Refresh accounts before returning device lists
2024-12-05 14:35:18 -05:00
Katherine
651e444875
Delete from SVR3 in account deletion flow
2024-12-05 11:36:33 -05:00
Jon Chambers
2093fed554
Drop the unused setUnauthenticatedDelivery endpoint
2024-12-03 14:06:05 -06:00
Ravi Khadiwala
cc7bb8b549
Map stripe idempotency errors to 400
2024-12-03 14:05:43 -06:00
Ravi Khadiwala
a99ac14c6a
Write number->pni mapping before checking rrp table
2024-12-03 14:05:31 -06:00
Ravi Khadiwala
2c163352c3
Add DeviceCheck API for iOS Testflight backup enablement
2024-12-03 14:05:02 -06:00
Jon Chambers
fb6c4eca34
Retire RemoveE164RecentlyDeletedAccountsCommand
2024-12-02 11:17:03 -05:00
Jon Chambers
142e2cbe9d
Update to the latest version of the spam filter
2024-12-02 10:59:51 -05:00
Jon Chambers
c70dd119d3
Remove AbstractDynamoDbStore as a base class from Accounts
2024-12-02 10:57:45 -05:00
Katherine
9e312cbdfa
Normalize Benin phone numbers to the new format before sending to registration service
2024-12-02 10:57:27 -05:00
Jon Chambers
4d87b741cd
Add a command to remove e164-associated "recently-deleted account" records
2024-11-27 12:29:42 -05:00
Jon Chambers
d08bc4c413
Write "recently deleted account" rows exclusively by PNI
2024-11-27 12:29:42 -05:00
Ravi Khadiwala
f5d3d1e65d
Remove BackfillBeninPhoneNumberFormsCommand
2024-11-27 12:21:30 -05:00
Jon Chambers
916314233f
Retire DeleteE164RegistrationRecoveryPasswordsCommand
2024-11-27 12:12:58 -05:00
Jonathan Klabunde Tomer
c7e6ee7297
Update to the latest version of the spam filter
2024-11-26 16:36:45 -08:00
Jonathan Klabunde Tomer
557a6ecd4f
Read deleted accounts by PNI rather than e164
2024-11-26 16:35:40 -08:00
Ameya Lokare
0e04cac800
Crawler to backfill PNI records of alternate forms of existing phone numbers
2024-11-26 18:46:08 -05:00
Jon Chambers
1db9258d39
Add a command to remove e164-associated registration recovery passwords
2024-11-26 18:38:27 -05:00
Jon Chambers
2803c2acdb
Write registration recovery passwords exclusively by PNI
2024-11-26 18:31:36 -05:00
Ravi Khadiwala
8be43566a4
Fix swagger oneof annotations
2024-11-26 17:40:05 -05:00
Ameya Lokare
d865cec2a4
Insert alternate forms of phone numbers -> PNI atomically
2024-11-26 17:39:53 -05:00
Jon Chambers
6f0370a073
Update to the latest version of the spam filter
2024-11-26 17:39:37 -05:00
Jon Chambers
5b9f8177f2
Read registration recovery passwords exclusively by PNI
2024-11-26 17:31:08 -05:00
Jon Chambers
6967e4e54b
Retire MigrateRegistrationRecoveryPasswordsCommand
2024-11-26 17:23:49 -05:00
Jon Chambers
96fb0ac3ae
Add a utility method for testing if a number begins with a decimal prefix
2024-11-26 14:13:06 -06:00
Jon Chambers
7201938793
Add a utility method for getting alternate forms of (Benin) phone numbers
2024-11-26 14:13:06 -06:00
Jonathan Klabunde Tomer
cdd6f78c73
Handle errors in deleted-accounts crawler
2024-11-25 21:22:33 -05:00
Jon Chambers
ab94d3045d
Add a buffer/shuffle pair to better distribute load across shards
2024-11-25 20:41:25 -05:00
Jon Chambers
ff4e2bdfb7
Refresh registration recovery password expirations before retrying an insertion
2024-11-25 16:45:28 -05:00
Jonathan Klabunde Tomer
ffed19d198
Create deleted-accounts records keyed by both e164 and PNI
2024-11-25 12:42:16 -08:00
ravi-signal
49d6a5e32d
Add error reporting to /v1/devices/transfer_archive
2024-11-25 12:41:51 -08:00
Jon Chambers
3ba7ba4f92
Remove abstract base class from RegistrationRecoveryPasswords
2024-11-25 15:27:30 -05:00
Jon Chambers
43ffc996db
Use a segmented scan on a separate scheduler for registration recovery passwords
2024-11-25 14:18:56 -05:00
Jon Chambers
27f5f94c60
Retry registration recovery password migration attempts
2024-11-25 10:39:08 -05:00
Jonathan Klabunde Tomer
1d9734c824
MigrateRegistrationRecoveryPasswordsCommand: un-invert semantics of dryRun flag
2024-11-23 09:23:36 -05:00
Jon Chambers
717fb57a14
Add a command to migrate registration recovery passwords to PNI-associated records
2024-11-22 18:18:40 -05:00
Jon Chambers
af1d21c225
Add methods for migrating E164-mapped registration recovery passwords to PNI-mapped records
2024-11-22 18:18:40 -05:00
Jon Chambers
3c8b2a82a3
Store registration recovery passwords by both E164 and PNI
2024-11-22 18:18:40 -05:00
Jonathan Klabunde Tomer
0cb6f662c6
Handle multiple values with same ACI in deleted-accounts table
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com >
2024-11-22 15:11:27 -08:00
Chris Eager
739ed56b4c
Don’t use an existing record's number in AccountsManager re-registration handling
2024-11-22 17:10:08 -06:00
Chris Eager
9a19ef82fd
Use pni in DynamoDB account put condition expression
2024-11-22 17:10:08 -06:00
Chris Eager
5627ed141b
Update phone number/PNI constraint cancellation reason comment
2024-11-22 17:10:08 -06:00
Chris Eager
e4a2af67b1
Update AccountsManager#changeNumber validation to check for PNI equality
2024-11-22 17:06:42 -06:00
Chris Eager
cba56f3263
Add @E164 to ChangeNumberRequest
2024-11-22 17:05:07 -06:00
Chris Eager
1c3cf39b8a
Remove String e164 from AccountLockManager
2024-11-22 17:04:32 -06:00
Jonathan Klabunde Tomer
6421438f64
Delete deleted-account records by PNI as well as e164
2024-11-22 15:36:15 -05:00
Jon Chambers
8a63682c16
Drop the unused PhoneNumberIdentifiers#getPhoneNumber method
2024-11-22 15:26:44 -05:00
Jon Chambers
13a8c6256d
Delete registration recovery passwords by both phone number and PNI
2024-11-22 15:26:44 -05:00
Jon Chambers
8c9cc4cce5
Make PhoneNumberIdentifiers operations asynchronous
2024-11-22 15:26:44 -05:00
Jon Chambers
0023cb2521
Resolve minor warnings/suggestions
2024-11-22 15:10:00 -05:00
Jon Chambers
010ed77345
Use libphonenumber to get country codes
2024-11-22 15:10:00 -05:00
Jon Chambers
00c11f5dd0
Use a more conventional name for a static constant
2024-11-22 15:10:00 -05:00
Jon Chambers
637e424506
Remove an unused "get number prefix" method
2024-11-22 15:10:00 -05:00
Chris Eager
eb55b80bdc
Add PNI support to AccountLockManager
2024-11-22 14:09:52 -06:00
Chris Eager
73812b06be
Fix class names in logger initialization
2024-11-21 16:09:41 -06:00
Ravi Khadiwala
d135957f0d
Cancel past_due subscriptions immediately
2024-11-21 16:09:17 -06:00
Chris Eager
815fd44ab3
Update to the latest version of the spam filter
2024-11-21 16:08:08 -06:00
Chris Eager
4e8a48ab3d
Update MicrometerAwsSdkMetricPublisher maxConcurrency metric name
2024-11-21 16:07:24 -06:00
Chris Eager
ea75c39b58
Use MRM shared data views
2024-11-19 15:31:31 -06:00
Jon Chambers
085f013bf9
Update to libphonenumber 8.13.50 in preparation for Benin phone number format changes
2024-11-19 16:20:43 -05:00
Ameya Lokare
c6b8d890e5
Update to the latest version of the spam filter
2024-11-15 12:30:38 -08:00
Jon Chambers
66783c9381
Include new/previous push token types as dimensions on "account created" counter
2024-11-15 15:28:46 -05:00
Jon Chambers
b32e67ff9e
Resolve minor warnings/suggestions in AccountsManager
2024-11-15 15:28:46 -05:00
Alex Konradi
ba55d6caeb
Only vend new credential format
...
Remove the flag that controlled which format was requested, and always return
the new thing.
2024-11-15 12:27:56 -08:00
Ravi Khadiwala
1eba04d37b
Fix incorrect update target
2024-11-15 14:11:55 -06:00
Chris Eager
ecbb2f1399
Updates for org.apache.commons.lang3.RandomStringUtils deprecations
2024-11-15 14:11:41 -06:00
Chris Eager
93f4a91ebf
Remove some deprecated/unused code
2024-11-15 14:11:41 -06:00
Chris Eager
a1ac5bd74c
Bind maven-dependency-plugin properties goal to the process-test-classes phase
2024-11-15 14:11:04 -06:00
Chris Eager
0ca9e973ad
Add ephemeral tag to MRM error retrieval counter
2024-11-12 15:00:36 -06:00
Chris Eager
ee5df0e11c
Always store and fetch shared MRM data
2024-11-12 10:57:30 -06:00
Chris Eager
d53a6e4c42
Add counter for skipped stale ephemeral MRM fetches
2024-11-12 10:56:12 -06:00
Chris Eager
744042e8c8
Address some warnings in maven execution
2024-11-12 10:55:10 -06:00
Jon Chambers
444f6ca826
Consolidate "closed connection" errors, but add an "exception" dimension
2024-11-12 11:54:47 -05:00
Jon Chambers
0ea13ec528
Handle static "closed" exceptions
2024-11-12 11:54:47 -05:00
Jon Chambers
6845ba9b90
Remove legacy DisconnectRequested protobuf entity
2024-11-12 11:54:36 -05:00
Jon Chambers
2f890f7bb3
Send push notifications if we receive a "new message" notification, but no listener is present
2024-11-12 09:34:59 -05:00
Jon Chambers
3fefb24d71
Retire the legacy disconnection request system
2024-11-12 09:09:05 -05:00
Chris Eager
d6f890c7b9
Use AmazonDynamoDBLocal instead of DynamoDBProxyServer
2024-11-11 16:50:47 -06:00
Chris Eager
59e0137816
Update to the latest version of the spam filter
2024-11-11 16:50:19 -06:00
Chris Eager
dd4bc23e4f
Update to Dropwizard 4
2024-11-11 16:32:24 -06:00
Jon Chambers
09fd5e8819
Shift authority for disconnection requests to DisconnectionRequestManager
2024-11-11 16:27:38 -05:00
Ravi Khadiwala
81f3ba17c7
Wait for messages in waitForNewLinkedDevice
2024-11-11 14:46:48 -06:00
Jon Chambers
3288d3d538
Mirror disconnection requests to DisconnectionRequestManager
2024-11-11 15:38:07 -05:00
Jon Chambers
7e861f388f
Introduce DisconnectionRequestManager
2024-11-11 15:38:07 -05:00
Jon Chambers
1323b42169
Rename ClientConnectionManager to GrpcClientConnectionManager
2024-11-11 15:38:07 -05:00
Jon Chambers
a843f1af6c
Rename PubSubClientEventManager to WebSocketConnectionEventManager
2024-11-11 15:30:26 -05:00
Ameya Lokare
52b759c009
Remove CORS configuration
2024-11-11 12:22:18 -08:00
Jon Chambers
f2f5815316
Resolve additional merge-related naming conflicts
2024-11-11 11:58:06 -05:00
Jon Chambers
2da00e162a
Resolve a merge-related naming conflict
2024-11-11 11:47:00 -05:00
Jon Chambers
e53a9f3f1a
Close WebSockets "harshly" if a close frame write fails
2024-11-11 11:42:01 -05:00
Jon Chambers
767f6a90e0
Remove subscriptions if we get pub/sub events without a registered listener
2024-11-11 11:42:01 -05:00
Jon Chambers
562b495a18
Publish "messages persisted" events when unlocking queues after a persistence run
2024-11-11 11:41:29 -05:00
Jon Chambers
084607f359
Retire the explicit "handle new message available" system in favor of implicit presence-on-insert values
2024-11-11 11:41:29 -05:00
Jon Chambers
eeeb565313
Return destination client presence when inserting messages
2024-11-11 11:41:29 -05:00
Jon Chambers
1fa31b3974
Don't return message IDs from the "insert message" script
2024-11-11 11:41:29 -05:00
Jon Chambers
7158a504fa
Remove an outdated doc comment reference to keyspace notifications
2024-11-08 15:55:02 -05:00
Ameya Lokare
3ccd7508ac
Update to the latest version of the spam filter
2024-11-08 12:24:06 -08:00
Ravi Khadiwala
fc6075f19c
Include media TTL in backup config
2024-11-08 14:21:39 -06:00
Ravi Khadiwala
776c147ea4
Tighten up Semaphore release in WebSocketConnection
2024-11-08 14:21:12 -06:00
Chris Eager
5d9641ae86
Add dynamic configuration to optionally use shared MRM data
2024-11-07 17:06:52 -06:00
Chris Eager
88a1f951c2
Update to the latest version of the spam filter
2024-11-07 16:53:15 -06:00
Chris Eager
1726a1d5f4
Remove extraneous plugin version declaration
2024-11-07 16:45:40 -06:00
Chris Eager
6c563a3f13
Update various dependencies
...
- aws.sdk2: 2.29.7
- braintree: 3.37.0
- commons-csv: 1.12.0
- commons-io: 2.17.0
- dropwizard: 3.0.10
- firebase-admin: 9.4.1
- google-androidpublisher: v3-rev20241016-2.0.0
- google-cloud-libraries: 26.50.0
- jackson: 2.18.1
- junit-pioneer: 2.23.0
- libphonenumber: 8.13.49
- micrometer: 1.13.6
- reactor: 2023.0.11
- storekit: 3.2.0
- exec-maven-plugin: 3.4.1
- jib-maven-plugin: 3.4.4
- maven-deploy-plugin: 3.1.3
- maven-install-plugin: 3.1.3
- maven-surefire-plugin: 3.5.2
- maven-failsafe-plugin: 3.5.2
- swagger-maven-plugin: 2.22.25
2024-11-07 16:34:42 -06:00
Jon Chambers
6a1f4906c5
Retire the legacy message availability system
2024-11-07 12:09:21 -05:00
Jon Chambers
ef716aacc2
Shift authority for message availability to the pub/sub event system
2024-11-07 11:55:47 -05:00
Ameya Lokare
c91242ed60
Update to the latest version of the spam filter
2024-11-07 08:32:15 -08:00
Jon Chambers
e536a40740
Publish "messages persisted" events
2024-11-07 11:25:48 -05:00
Jon Chambers
5aaf4cad20
Remove now-unused presence cluster configuration
2024-11-06 16:07:02 -05:00
Jon Chambers
1c167ec150
Retire the legacy client presence system
2024-11-06 14:57:27 -05:00
Chris Eager
9898e18ae2
Update test config for /v1/subscription/configuration
2024-11-06 14:43:39 -05:00
Chris Eager
b182c3d86d
Update for KeyTransparencyQueryService.MonitorRequest changes
2024-11-06 14:43:18 -05:00
Jon Chambers
96a4d4c8ac
Prepare to receive client events about persisted messages
2024-11-06 14:42:55 -05:00
Jon Chambers
9d19fc9ecc
Shift authority to the new pub/sub client presence system
2024-11-06 12:10:44 -05:00
Jon Chambers
aad12670b2
Register WebSocket connections as pub/sub event listeners
2024-11-06 09:37:06 -05:00
Jon Chambers
7ca7fe7c13
Handle batches of commands in sharded circuit breakers
2024-11-06 09:36:08 -05:00
Jon Chambers
ca7e7c288e
Format pub/sub hash tags consistently with message-related hash tags
2024-11-06 09:35:45 -05:00
Chris Eager
3a604464b5
Mark LevelConfiguration#name as deprecated
2024-11-06 09:35:19 -05:00
Jon Chambers
e277281d18
Update to the latest version of the spam filter
2024-11-06 09:32:57 -05:00
Ameya Lokare
3d339696dc
Update to the latest version of the spam filter
2024-11-05 16:17:22 -08:00
Jon Chambers
3e36a49142
Reframe "connection ID" as "server ID" to avoid double-removing clients
2024-11-05 18:43:31 -05:00
Jon Chambers
d8f53954d0
Don't send CLIENT SETINFO commands when connecting to Redis instances
2024-11-05 17:29:31 -05:00
Jon Chambers
8c984cbf42
Introduce and evaluate a client presence manager based on sharded pub/sub
2024-11-05 15:51:29 -05:00
Jon Chambers
60cdcf5f0c
Only respond to cluster toplogy events from the same cluster to which we're subscribed
2024-11-05 11:42:51 -05:00
Jon Chambers
5afcd634b6
Extend "long idle" device range to 60–75 days
2024-11-05 11:33:22 -05:00
Katherine Yen
00ca58ec13
Align FullTreeHead proto with KT's
2024-11-05 11:33:11 -05:00
Katherine Yen
bbb6d448db
Standardize KT response field name to serializedResponse
2024-11-05 11:32:58 -05:00
adel-signal
45fad7a6a9
update e164 experiments to use account enrollment percentage
2024-11-04 15:00:25 -06:00
Katherine
7633a9b07a
Replace TreeSearchResponse with CondensedTreeSearchResponse
2024-11-04 10:36:15 -05:00
Jon Chambers
00d0dba62c
Don't retry pub/sub commands
2024-11-04 10:35:50 -05:00
Jon Chambers
c9a396b9e3
Deserialize null capabilities in Device entities as empty sets
2024-11-01 16:48:56 -04:00
Ravi Khadiwala
fc0a7b7657
401 instead of 403 on wrong backup auth credential type
2024-11-01 16:46:44 -04:00
Ameya Lokare
c1e870d8f5
Update to the latest version of the spam filter
2024-10-31 14:55:33 -07:00
Ameya Lokare
190f2a7fc2
Pass ACI to captcha checker
2024-10-31 14:24:43 -07:00
Jonathan Klabunde Tomer
ce0ccf4fd0
Update to the latest version of the spam filter
2024-10-31 11:27:38 -07:00
Jonathan Klabunde Tomer
0018e0bec6
remove appconfig in favor of S3ObjectMonitor
2024-10-31 11:25:45 -07:00
Jonathan Klabunde Tomer
63021e0ca3
Avoid annotation-driven parsing of device capabilities in DeviceController
2024-10-31 10:58:38 -04:00
Katherine Yen
bf741df38e
Remove unnecessary NotNull annotation
2024-10-31 10:56:19 -04:00
Katherine
e627d4e2c4
Require some tree head sizes in key transparency search and monitor requests
2024-10-31 10:54:55 -04:00
Katherine
9b5a62e60f
Remove FullTreeHead from TreeSearchResponse
2024-10-31 10:51:22 -04:00
Ravi Khadiwala
3bb1eab48c
Fix casing in GET /v1/archives/auth
2024-10-30 17:07:43 -04:00
Jon Chambers
4af576668c
Fix incorrect substitution of enumeration key names for capability names
2024-10-30 17:06:09 -04:00
Jon Chambers
f5a93574f6
Simplify capabilities representation in gRPC profile responses
2024-10-30 17:06:09 -04:00
Jon Chambers
74f8889bfa
Simplify capability set serialization
2024-10-30 17:06:09 -04:00
Jon Chambers
a8da0f64ac
Extract device capability enumeration translation to a utility class
2024-10-30 17:06:09 -04:00
Jon Chambers
44c3b046dd
Add a new capability for storage service record key rotation
2024-10-30 13:04:10 -04:00
Ravi Khadiwala
f2cb04817b
Let server generate copyToMedia IVs
...
We include the IV in the encrypted payload, so we can let the server
choose them instead of the client
2024-10-30 13:03:48 -04:00
Katherine
a5f60b1522
Use standard, unpadded base64 serialization/deserialization for commitmentIndex
2024-10-30 12:50:45 -04:00
Jon Chambers
0e3dccd9f6
Replace DeviceCapabilities entity with Set<DeviceCapability>
2024-10-30 12:46:20 -04:00
Jon Chambers
b21b50873f
Add support for distinct media backup credentials
...
Co-authored-by: Ravi Khadiwala <ravi@signal.org >
2024-10-29 16:03:10 -04:00
Katherine
d335b7a033
Align KeyTransparencySearchResponse with distinguished counterpart and update DistinguishedResponse field names
2024-10-29 15:55:45 -04:00
Jon Chambers
f3b22e04e8
Allow primary devices to change names of linked devices
2024-10-29 09:52:38 -04:00
Katherine
712f3affd9
Update chat to send three search keys in one request to KT
2024-10-29 09:52:26 -04:00
Ameya Lokare
89292e238b
Update to the latest version of the spam filter
2024-10-28 12:20:54 -07:00
Katherine
3287085ef9
Remove test references to legacy ratelimit HTTP status code
2024-10-28 15:20:08 -04:00
Ameya Lokare
17dfd914d5
Add maybe to optional argument name
2024-10-28 12:19:19 -07:00
Chris Eager
c65fe49983
Add commitment index to key transparency monitor requests
2024-10-28 14:18:41 -05:00
Chris Eager
6552d90dc9
Refactor request JSON creation in KeyTransparencyControllerTest
2024-10-28 14:18:41 -05:00
Chris Eager
d925e8af9e
Update shape of KeyTransparencyMonitorRequest
2024-10-28 14:18:41 -05:00
Jon Chambers
2c0fc43137
Require that accounts be non-stale when getting/setting backup vouchers
2024-10-28 15:18:19 -04:00
Ameya Lokare
ccdbec088f
Document that sendMessage can return 428
2024-10-28 12:18:02 -07:00
Jon Chambers
9822d17ab9
Fail "wait for X" futures if a Redis operation fails
2024-10-28 15:17:49 -04:00
Chris Eager
9573d9e385
Skip fetching MRM content for stale ephemeral messages
2024-10-24 11:49:33 -05:00
Chris Eager
155f3d6231
key transparency: add distinguished key endpoint
2024-10-24 11:49:20 -05:00
Chris Eager
1959ca2d96
Add client identity to key and certificate to KeyTransparencyServiceClient
2024-10-24 11:36:57 -05:00
Jon Chambers
324913d2da
Add API endpoints for waiting for account restoration requests
2024-10-24 12:25:40 -04:00
Ameya Lokare
5c4cafcb6f
Update to the latest version of the spam filter
2024-10-23 13:21:05 -07:00
Ameya Lokare
1ea8d69b40
Update captcha string in local testing doc
2024-10-23 09:56:41 -07:00
Katherine
013e45596e
Update KT search requests to include a value and maybe an unidentified access key
2024-10-23 10:21:38 -04:00
Ameya Lokare
3fdb691702
Update to the latest version of the spam filter
2024-10-22 10:29:01 -07:00
Ameya Lokare
997129871c
Lazily get captcha clients to avoid initialization issues
2024-10-22 09:13:00 -07:00
Ameya Lokare
39b1935350
Update to the latest version of the spam filter
2024-10-21 14:09:19 -07:00
Ameya Lokare
dbb9a8dcf6
Get captcha clients from spam-filter module
2024-10-21 13:32:32 -07:00
adel-signal
cacd4afbbb
Add /v2/calling/relays
...
This supports returning IceServers from multiple providers at once
2024-10-21 13:59:29 -05:00
Jon Chambers
9c5877aa31
Resolve warnings/accept suggestions throughout AttachmentControllerV4Test
2024-10-21 14:26:28 -04:00
Jon Chambers
bda4788a34
Retire AttachmentControllerV2
2024-10-21 14:26:28 -04:00
Jon Chambers
5abfef50fc
Avoid repeated constants, standardize test assertions, and add links to docs for PolicySigner
2024-10-21 14:26:04 -04:00
Jon Chambers
e3ee5c1f2e
Use multiline strings in PostPolicyGenerator
2024-10-21 14:26:04 -04:00
Jon Chambers
e6eb702a88
Remove a couple unused imports/loggers from SubscriptionController
2024-10-21 13:18:00 -05:00
Jon Chambers
1447819198
Remove deprecated aci field from batch identity check elements
2024-10-21 13:17:52 -05:00
Jon Chambers
adf5795dff
Remove unused members in ProfileController
2024-10-21 13:17:52 -05:00
Chris Eager
584fd06b88
Add metric for closed connection age to KeepAliveController
2024-10-21 13:17:21 -05:00
Chris Eager
1faa1a5abc
Remove obsolete identity key null-check from /v1/certificate/delivery
2024-10-21 13:17:05 -05:00
Chris Eager
b5db8eba06
Remove unnecessary socket.setReuseAddress() in test extensions
2024-10-21 13:16:57 -05:00
Chris Eager
c6843c1eae
Update to embedded-redis 0.9.1
2024-10-21 13:16:45 -05:00
Ameya Lokare
93b7fd589e
Update to the latest version of the spam filter
2024-10-17 09:57:32 -07:00
Jon Chambers
eb80305f87
Retire AttachmentControllerV3
2024-10-17 12:48:01 -04:00
Jon Chambers
865e3c5bde
Convert AccountBadge to a record
2024-10-17 12:47:50 -04:00
Chris Eager
c2270e57df
Reduce log level for existing pending presence
2024-10-17 11:47:18 -05:00
Ameya Lokare
d48c031548
Pass in destination service identifier to spam filter
2024-10-17 09:11:35 -07:00
Chris Eager
830a07012b
Subscribe to remote presence changes before setting the key
2024-10-15 16:54:52 -05:00
Chris Eager
46227295ff
Add test for concurrent connections in ClientPresenceManager
2024-10-15 16:54:52 -05:00
Jon Chambers
73fb1fc2ed
Add API endpoints for waiting for transfer archives
2024-10-15 12:13:47 -04:00
Jon Chambers
7ff48155d6
Add plumbing for a "wait for transfer archive" system
2024-10-15 12:13:47 -04:00
Jon Chambers
0adaa331a1
Extract RemoteAttachment to a top-level entity
2024-10-15 12:13:47 -04:00
Jon Chambers
30ec06ca76
Fix an incorrect response schema annotation
2024-10-15 12:13:47 -04:00
Jon Chambers
9b5c6e538b
Convert DeviceResponse to a record and rename to LinkDeviceResponse
2024-10-15 12:13:29 -04:00
Jon Chambers
240a406964
Introduce EnumMapUtil
2024-10-10 13:29:20 -07:00
Jon Chambers
38d25f9a9b
Resolve warnings and accept suggestions throughout DeviceControllerTest
2024-10-10 13:29:05 -07:00
Chris Eager
7b1b6fa1cf
Update KeyTransparencyService.proto with MonitorKey.commitment_index
2024-10-10 10:12:21 -04:00
Chris Eager
a3d9af132f
Use Mono#transformDeferred when applicable
2024-10-10 10:12:04 -04:00
Chris Eager
5d8b566a27
Remove unnecessary MessagesManager#clear with account’s PNI
2024-10-10 10:12:04 -04:00
Jon Chambers
8c30a359e7
Add API endpoints for waiting for newly-linked devices
2024-10-10 10:11:32 -04:00
Jon Chambers
087c2b61ee
Update to the latest version of the spam filter
2024-10-09 09:37:07 -04:00
Jon Chambers
a9117010f9
Introduce FaultTolerantRedisClient
2024-10-09 09:22:10 -04:00
Ravi Khadiwala
9d980f36b0
Allow experiments to exclude by ACI
2024-10-08 15:02:58 -05:00
Katherine
93515e5a0f
Retire paymentActivation capability
2024-10-08 16:01:09 -04:00
Jonathan Klabunde Tomer
d550c69f7f
Enforce per-IP rate limits
2024-10-07 16:57:29 -05:00
adel-signal
087e192fac
Update CallRoutingController to use e164, add UUID to e164 experiments
2024-10-07 16:56:45 -05:00
Jon Chambers
63e45563ec
Discard the Redis-backed "used token" system
2024-10-07 17:06:08 -04:00
Jon Chambers
961d6d0a5c
Update to the latest version of the spam filter
2024-10-07 16:31:51 -04:00
Jon Chambers
f7aacefc40
Manage device linking tokens transactionally
2024-10-07 16:26:11 -04:00
Ravi Khadiwala
42e920cd5c
Add appstore subscriptions endpoint
2024-10-04 16:06:15 -05:00
ravi-signal
02ff3f2ff4
Add AppleAppStoreManager
2024-10-04 15:55:07 -05:00
Katherine
ca2845bcb0
Update key transparency gRPC client
2024-10-04 16:43:30 -04:00
Ravi Khadiwala
80cd5d9ccc
Increase message cache TTL to 46 days
2024-10-02 14:05:40 -05:00
Ravi Khadiwala
0eb7db8de5
Increase the linked device idle timeout to 45 days
2024-10-02 14:05:40 -05:00
Jon Chambers
100955a7db
Migrate WebSocket duration instrumentation to OpenWebSocketCounter
2024-10-02 14:02:03 -05:00
Chris Eager
68814813c3
Add timestamp header to all responses
2024-10-02 14:01:19 -05:00
Jon Chambers
39590f1b28
Update to the latest version of the spam filter
2024-10-01 14:27:06 -04:00
Jon Chambers
92698efd39
Remove machinery for setting/storing APNs VOIP tokens
2024-10-01 14:17:39 -04:00
Jon Chambers
b693cb98d0
Remove recurring background VOIP notification machinery
2024-10-01 14:17:39 -04:00
Jon Chambers
3ed142d0a9
Introduce OpenWebSocketCounter
2024-10-01 14:17:17 -04:00
Jon Chambers
581e61a85b
Count open provisioning WebSockets
2024-10-01 14:17:17 -04:00
Jon Chambers
764b200289
Clarify open websocket gauge name
2024-10-01 14:17:17 -04:00
Jon Chambers
26503dffdf
Use a consistent provisioning address
2024-10-01 13:34:37 -04:00
Jon Chambers
b284e95394
Clarify ProvisioningAddress field naming
2024-10-01 12:59:58 -04:00
Jon Chambers
b2211de8d8
Retire ProvisioningAddress and WebsocketAddress
2024-10-01 12:59:58 -04:00
Ameya Lokare
1bb0eb0e70
Integer comparison of captcha scores
2024-10-01 08:42:12 -07:00
Jon Chambers
0a1161048f
Document ProvisioningController and ProvisioningConnectListener
2024-10-01 11:40:40 -04:00
Ameya Lokare
7a6ce00fed
Add senderType tag to sendMessageLatency timer
...
This will allow us to differentiate between sealed vs unsealed sends
latency
2024-09-27 17:35:20 -04:00
Jon Chambers
c0aa9ced8d
Temporarily disable AWS SDK instrumentation
2024-09-27 17:34:46 -04:00
Jon Chambers
6b36df3f8f
Remove unused imports/loggers
2024-09-27 17:34:46 -04:00
Jon Chambers
df3caeb04a
Expand the scope of the "notify idle devices" job to cover short-idle devices WITH messages
2024-09-27 16:30:51 -04:00
Jon Chambers
0e267509da
Add a method for checking for persisted urgent messages
2024-09-27 16:30:51 -04:00
Jon Chambers
bbe41278ed
Drop an unused hasCachedMessages method
2024-09-27 16:30:51 -04:00
Jon Chambers
d91a6b0c38
Retire the "notify idle devices with messages" experiment
2024-09-27 16:30:51 -04:00
Jon Chambers
694a93db6d
Explicitly look for sha256sum inputs via stdin
2024-09-27 09:39:19 -04:00
Ameya Lokare
2f2dec87b1
Update to the latest version of the spam filter
2024-09-26 13:03:05 -07:00
Ameya Lokare
098288c290
Update to the latest version of the spam filter
2024-09-26 12:56:09 -07:00
Chris Eager
ab2e6bb9a3
Use Mono.share() for mrmMessageMono
2024-09-26 14:48:06 -05:00
Chris Eager
513f19370a
Add Experiment#compareMonoResult
2024-09-26 14:48:06 -05:00
Chris Eager
e20a4c1f77
Refactor ProcessScheduledJobsServiceCommand to dispose of processing jobs on shutdown
2024-09-26 14:12:12 -05:00
Jon Chambers
946a486c4b
Add metric publishers to DynamoDB clients
2024-09-26 15:00:10 -04:00
Jon Chambers
78b40397f9
Simplify metric publisher lifecycles
2024-09-26 15:00:10 -04:00
Jon Chambers
48e8d1c12f
Add comments and constants to clarify the structure of metric collections
2024-09-26 15:00:10 -04:00
Jon Chambers
b115e95da4
Add an AWS SDK metric publisher
2024-09-26 15:00:10 -04:00
Chris Eager
ab0892cc41
Set executor shutdown time in ProcessScheduledJobsServiceCommand
2024-09-26 13:57:20 -05:00
Chris Eager
e25291c74c
Move MRM content parsing outside of “withBinaryClusterReactive”
2024-09-26 13:57:02 -05:00
Ravi Khadiwala
0e552bd602
Cancel play subscriptions when replacing them
2024-09-26 13:56:10 -05:00
Ameya Lokare
e9b3e15556
Return report spam token from spam check instead of separate call
2024-09-26 11:53:40 -07:00
Ravi Khadiwala
237d0fd4e2
remove HTTP layer exceptions from Stripe/Braintree managers
2024-09-24 17:22:38 -05:00
Ravi Khadiwala
50bd30fb1f
Fix cancelAtPeriodEnd calculation
2024-09-24 17:14:08 -05:00
Ravi Khadiwala
9fb4e2d272
set billingCycleAnchor in play billing responses
2024-09-24 17:14:08 -05:00
Jon Chambers
3e51366921
Narrow selection criterial for "notify idle devices with messages" experiment
2024-09-23 16:01:44 -04:00
Jonathan Klabunde Tomer
2d184b1ab6
return user's own username link handle in /whoami response
2024-09-23 12:46:10 -07:00
adel-signal
befcdf55fe
Balance TURN routing options across datacenters
2024-09-23 12:43:43 -07:00
Ravi Khadiwala
ba12d39121
URLEncode shortCode paths
2024-09-23 14:43:15 -05:00
Ravi Khadiwala
bf0f553ced
Don't return 204s as exceptions
...
The jersey LoggingExceptionMapper automatically adds an entity to
WebApplicationExceptions. Jersey's HTTP server later strips the body on
204 responses, but our custom WebSocketResourceProvider does not
2024-09-23 14:43:04 -05:00
Chris Eager
cd68a674bb
Update protobuf-java to 3.25.5
2024-09-23 08:43:55 -05:00
Jon Chambers
315fc00eac
Lazily evaluate jobs to give max concurrency meaningful "teeth"
2024-09-23 08:43:44 -05:00
Ameya Lokare
6142dcc7e6
Update to the latest version of the spam filter
2024-09-19 12:56:10 -07:00
Jonathan Klabunde Tomer
c47141ffda
yield json errors from 500s in sendMultiRecipientMessage
2024-09-19 12:36:52 -07:00
Jon Chambers
6c8566db60
Align "allocate device" and "verify device" default rate limits
2024-09-19 14:59:06 -04:00
Jonathan Klabunde Tomer
aa60fae3b1
install RateLimitByIpFilter in soft-enforcement mode
2024-09-18 15:38:21 -07:00
Ravi Khadiwala
8cb9c60a3c
Relax configured currency checks
2024-09-17 14:27:11 -05:00
Ameya Lokare
dd7a20a774
Log IOException from assessCaptcha
2024-09-17 12:01:13 -07:00
Chris Eager
374fe087bc
Use destination service ID from the envelope when removing views from shared MRM data
2024-09-16 13:19:11 -05:00
Chris Eager
11691c3122
Update fields in HCaptchaResponse
...
This reverts commit 8d129b10ca .
2024-09-16 13:12:36 -05:00
Chris Eager
8d129b10ca
Revert "Update field names in HCaptchaResponse"
...
This reverts commit 42d4574213 .
2024-09-13 15:28:42 -05:00
Katherine
d6e03f50b9
Fix bug in ignoring svr errors in account deletion flow
2024-09-13 12:28:31 -04:00
Chris Eager
f60c9f2a15
Use destination service ID from the envelope when looking up in shared MRM data
2024-09-13 11:21:18 -05:00
Chris Eager
1c617284f3
Add MRM views experiment to MessagesCache.getMessagesToPersist()
2024-09-13 11:21:18 -05:00
Chris Eager
5bc6ff0e77
Add check for existing key to MessagesCacheInsertSharedMultiRecipientPayloadAndViewsScript
2024-09-13 11:21:18 -05:00
Jonathan Klabunde Tomer
020c21f4ef
remove support for deprecated messages DynamoDB key schema
2024-09-13 09:18:41 -07:00
Katherine
bd57c1c7e7
Introduce configurable way to ignore SVR errors in the account deletion flow
2024-09-13 10:57:09 -04:00
Katherine Yen
f4b94a7a89
Update to the latest version of the spam filter
2024-09-13 10:55:35 -04:00
ravi-signal
b666b66160
Add missing @Valid annotations
2024-09-13 10:54:32 -04:00
ameya-signal
8bafb1a641
Update code style in MessageController.sendMessage()
2024-09-13 10:53:40 -04:00
Chris Eager
42d4574213
Update field names in HCaptchaResponse
2024-09-13 10:53:23 -04:00
Alex Konradi
9ef6f8aec9
Add a metric for requests of ZKC auth credentials
2024-09-13 10:53:04 -04:00
Jon Chambers
556eec649d
Add platform and push token presence dimensions to account creation metrics
2024-09-06 12:37:23 -05:00
Ameya Lokare
e160025cfc
Clean up OpenAPI annotations on PUT /v1/challenge
...
* Remove 413 response since we no longer send it
* Add missing 428 response for when invalid captcha is submitted
2024-09-06 10:36:02 -07:00
Chris Eager
0602149c52
Skip removeRecipientViewFromMrmData pipeline if there are no keys
2024-09-06 12:35:03 -05:00
Chris Eager
ad17c6e40d
Wait for MRM experiment mono to complete before returning default message
2024-09-05 18:02:33 -05:00
Chris Eager
b95a766888
For ephemeral messages, remove recipient view from shared MRM data if recipient is offline
2024-09-05 18:02:33 -05:00
Chris Eager
a0770db179
Add timer to removeRecipientViewFromMrmData
2024-09-05 18:02:33 -05:00
Ameya Lokare
0601f6a35c
Update to the latest version of the spam filter
2024-09-04 16:21:37 -07:00
Ameya Lokare
d6acfa56c2
Add platform tag to invalid HCaptcha reason metric
2024-09-04 15:28:36 -07:00
Chris Eager
11601fd091
Multi-recipient message views
...
This adds support for storing multi-recipient message payloads and recipient views in Redis, and only fanning out on delivery or persistence. Phase 1: confirm storage and retrieval correctness.
2024-09-04 13:58:20 -05:00
Chris Eager
d78c8370b6
Add timer to removeByGuid script
2024-09-03 12:33:39 -04:00
Jon Chambers
0b752409d5
Update to the latest version of the spam filter
2024-09-03 12:32:08 -04:00
Jon Chambers
46e0f5da74
Fix swapped placeholders in a log message
2024-08-30 17:01:11 -04:00
Jon Chambers
d835a2a450
Update to the latest version of the spam filter
2024-08-30 16:38:13 -04:00
Jon Chambers
f09cc03164
Detect message delivery loops
2024-08-30 16:27:21 -04:00
Jon Chambers
4c628b1cd9
Change the range for the "notify idle devices without messages" job to 30–45 days
2024-08-30 16:24:39 -04:00
Chris Eager
5122271750
Configure keyspace notifications in LocalFaultTolerantRedisClusterFactory
2024-08-30 13:00:31 -05:00
ravi-signal
7df978390f
Add playProductId to backup level configuration
2024-08-30 12:59:09 -05:00
ravi-signal
564dba3053
Add playbilling endpoint to /v1/subscriptions
2024-08-30 12:50:18 -05:00
Ravi Khadiwala
3b4d445ca8
Don't try to update a cancelled stripe subscription
2024-08-30 12:47:26 -05:00
ravi-signal
176a15dace
Add GooglePlayBillingManager
2024-08-28 14:22:37 -05:00
Jonathan Klabunde Tomer
9249cf240e
Update to the latest version of the spam filter
2024-08-21 14:53:28 -07:00
Jonathan Klabunde Tomer
a049eda7e6
remove configuration for no-longer-used "metrics" redis cluster
2024-08-21 14:49:05 -07:00
Katherine
9eafa118d5
Return key transparency protobufs encoded as base64 strings
2024-08-21 17:08:06 -04:00
Katherine
8699d94de6
Give mock devices unique IDs when testing whether a capability is supported
2024-08-21 11:40:02 -04:00
Katherine
4c0a5ac3b2
Add versionedExpirationTimer capability
2024-08-21 11:39:43 -04:00
Ameya Lokare
fa51793379
Update to the latest version of the spam filter
2024-08-20 10:49:25 -07:00
Ameya Lokare
8b99df3169
Update to the latest version of the spam filter
2024-08-19 11:43:50 -07:00
Ameya Lokare
7cbbf73cc9
Add registration recovery checker
2024-08-19 11:43:19 -07:00
Jon Chambers
0b1ec1e50b
Make push notification senders available via CommandDependencies
2024-08-16 16:52:07 -04:00
Jon Chambers
2744d33ef8
Update to the latest version of the spam filter
2024-08-16 16:17:55 -04:00
Jon Chambers
659ac2c107
Generalize push notification scheduler and add support for delayed "new messages" notifications
2024-08-16 16:16:55 -04:00
Jon Chambers
5892dc71fa
Allow linked devices to unlink themselves via the gRPC API
2024-08-16 16:14:13 -04:00
Jon Chambers
fc3e547dce
Remove an obsolete client version check when changing phone numbers
2024-08-16 16:14:00 -04:00
Ravi Khadiwala
e4f9f949f0
Serialize subscription errors as json
2024-08-15 18:30:48 -05:00
Fedor Indutny
7605462d48
Allow device to unlink itself
2024-08-15 13:54:07 -05:00
Ravi Khadiwala
fd10b9723d
Add source length validation on backup media copy
2024-08-15 13:52:50 -05:00
Ravi Khadiwala
6cdfb7ab63
Reject authenticated one-time donation requests
2024-08-15 13:51:55 -05:00
Ravi Khadiwala
e5fdab1bc8
Return 400 if a client specifies paypal where it's not supported
2024-08-15 13:49:25 -05:00
Katherine
2aa1eee29d
Align chat endpoints with "distinguished key" changes in key transparency service
2024-08-15 14:35:15 -04:00
Ravi Khadiwala
97e566d470
Move common subscription management out of controller
2024-08-15 13:29:26 -05:00
ravi-signal
a8eaf2d0ad
Group one-time donation methods together
2024-08-15 13:25:09 -05:00
Ravi Khadiwala
b5f9564e13
Validate that sourceAttachments are valid base64 strings
2024-08-14 17:36:30 -05:00
Jon Chambers
7e353f8ea0
Update to the latest version of the spam filter
2024-08-14 12:52:57 -04:00
Jon Chambers
0075e94a42
Rename AuthenticatedAccount to AuthenticatedDevice
2024-08-14 12:44:48 -04:00
Katherine
1ea9e38fea
Use a separate virtual executor instead of the one used for async jersey tasks
2024-08-14 12:28:16 -04:00
Jon Chambers
3b405a53d0
Move "push notifications on close" logic to WebSocketConnection
2024-08-14 12:24:49 -04:00
Katherine
84c329e911
Key transparency search and monitor endpoints
2024-08-12 13:14:42 -07:00
Jonathan Klabunde Tomer
4349ceaf0e
Update to the latest version of the spam filter
2024-08-12 11:49:18 -07:00
Ravi Khadiwala
acdf37561f
Count requests that supply auth to boost endpoints
2024-08-12 13:40:58 -05:00
Jon Chambers
9128d4cc49
Correct a counter name
2024-08-12 14:39:31 -04:00
Jon Chambers
206e97d374
Use queries instead of scans when fetching experiment samples (again)
2024-08-12 14:39:22 -04:00
Jonathan Klabunde Tomer
f682af2fe0
build a multi-architecture docker manifest list
2024-08-12 11:38:59 -07:00
Jon Chambers
ecf7e60d98
Add an experiment for sending push notifications to idle devices that DO have pending messages
2024-08-07 16:41:19 -04:00
Ravi Khadiwala
68ddc070ca
Count old version authentication tokens
2024-08-07 15:41:08 -05:00
Ameya Lokare
d661da8d7e
Update to the latest version of the spam filter
2024-08-06 15:37:09 -07:00
Jonathan Klabunde Tomer
5d2e8cb000
update to libsignal 0.54.2
2024-08-06 14:18:14 -07:00
Ravi Khadiwala
096bb8e6e5
Remove deprecated SubscriptionController methods
2024-08-06 16:09:44 -05:00
Jon Chambers
1af8bb494e
Generalize "is idle?" check in idle device notification scheduler
2024-08-05 15:19:39 -04:00
Jon Chambers
46d04d9d1a
Add a command to schedule notifications for idle devices without messages
2024-08-05 15:19:39 -04:00
Jon Chambers
c0ca4ffbcc
Retire "notify idle devices without messages" push notification experiment
2024-08-05 15:19:39 -04:00
Katherine Yen
8720b6db95
Update to the latest version of the spam filter
2024-08-05 12:11:40 -07:00
Jon Chambers
8c61d45206
Tune the "finish push notification experiment" command
2024-08-05 15:02:24 -04:00
Katherine
0e4625ef88
Migrate to 429 for all ratelimit responses
2024-08-05 12:02:11 -07:00
Ravi Khadiwala
10d559bbb5
Return backup info at /v1/subscription/configuration
...
- Return the free tier media duration and storage allowance for backups
- Add openapi annotations
- Update default media storage allowance
2024-08-02 14:08:00 -05:00
Jonathan Klabunde Tomer
65b2892de5
Simplify unlink-device-on-full-DB process
2024-08-02 12:03:43 -07:00
Chris Eager
6fa6c3c81c
Ensure multi-recipient messages are addressed to ACI service IDs
2024-08-01 12:31:27 -05:00
Chris Eager
e4ffc932a9
Check for IdentityType.PNI in OptionalAccess#verify
2024-08-01 12:31:27 -05:00
Ameya Lokare
8afc0e6ab2
Update to the latest version of the spam filter
2024-07-31 12:34:54 -07:00
Jon Chambers
822092044b
Add a method to check for the presence of persisted messages, skipping the cache
2024-07-31 10:50:47 -04:00
Jon Chambers
f1c153f39f
Log max concurrency when starting/finishing experiments
2024-07-31 10:50:31 -04:00
Jon Chambers
7e62dc64dc
Replace filterWhen with flatMap
2024-07-31 10:50:31 -04:00
Jon Chambers
2104a60703
Also check legacy parittion keys for message presence
2024-07-31 10:50:19 -04:00
Jon Chambers
97785fa570
Remove unused metrics and arguments
2024-07-31 10:50:19 -04:00
Chris Eager
9341fe9584
Add endpoint tag and story to auth type tag values
2024-07-31 09:38:14 -05:00
Ravi Khadiwala
3a582721cf
Throw error for oversized inbound noise messages
2024-07-30 11:25:09 -05:00
Ravi Khadiwala
3d96d73169
Break up large outbound noise messages
2024-07-30 11:25:09 -05:00
Ravi Khadiwala
542422b7b8
Replace XX/NX handshakes with IK/NK
2024-07-30 11:25:09 -05:00
Jon Chambers
c835d85256
Drop opentest4j from dependency management
2024-07-30 12:24:26 -04:00
Jon Chambers
56ada7f0e9
Add a "dry run" mode for the "start push notification experiment" command
2024-07-30 12:19:00 -04:00
Jon Chambers
56fdebde75
Check for cached/persisted messages in parallel
2024-07-30 12:18:46 -04:00
Jon Chambers
4ee67064bb
Remove a pair of unused methods
2024-07-30 12:18:34 -04:00
Jon Chambers
045ec9689d
Introduce a job scheduler and experiment for sending notifications to idle devices
2024-07-29 11:16:53 -04:00
Jon Chambers
4ebad2c473
Add a framework for running experiments to improve push notification reliability
2024-07-25 11:36:05 -04:00
Jonathan Klabunde Tomer
1fe6dac760
read old new key and new new key
2024-07-24 07:44:44 -07:00
Jonathan Klabunde Tomer
f12a6ff73f
Remove migration paths for lazy message deletion
2024-07-23 14:07:19 -07:00
Chris Eager
6eed458ceb
Use server timestamp for delivery duration metrics
2024-07-18 12:22:59 -05:00
Jon Chambers
54fb0a6acb
Add a general job scheduler
2024-07-18 13:22:31 -04:00
Jon Chambers
5147d9cb6d
Mark old attachment endpoints as @Deprecated
2024-07-17 15:01:44 -04:00
Jon Chambers
37369929f3
Retire PushLatencyManager
2024-07-17 15:01:23 -04:00
Jon Chambers
4f10014902
Add an "is primary" dimension to message latency measurements
2024-07-17 15:01:08 -04:00
Ravi Khadiwala
0ef3e00ba7
Use non-legacy rate limit error in BackupAuthManager
2024-07-11 16:39:11 -05:00
Chris Eager
2408590430
Update GitHub Actions
2024-07-11 16:38:15 -05:00
Chris Eager
b7f4fe4d73
Update various dependencies
2024-07-11 16:38:15 -05:00
Chris Eager
b811492acd
Update maven-wrapper.properties
2024-07-11 16:38:15 -05:00
Chris Eager
a63e0e0390
Remove unused RateLimiters
2024-07-11 16:37:55 -05:00
Jon Chambers
5e8a0b2cfa
Introduce a utility class for finding reasonable times to send push notifications
2024-07-11 17:36:54 -04:00
Chris Eager
eac75aad03
Add distribution of multi-recipient message recipient counts
2024-07-09 15:04:47 -05:00
Chris Eager
b05fbc2102
Add metric for group send token adoption
2024-07-09 15:04:12 -05:00
Jon Chambers
6d166fdfc5
Return futures from "send push notification" operations
2024-07-08 15:36:17 -04:00
Ravi Khadiwala
2e36673702
Add warn log if changeNumber messages fail
2024-07-08 15:28:08 -04:00
ravi-signal
0c81ffe8b7
Count unregistered APNS tokens with a recent update
2024-07-08 15:27:48 -04:00
Jon Chambers
02b9ceb4c7
Discard APNs tokens if the APNs server reports that the token is expired
2024-07-08 15:27:23 -04:00
Chris Eager
775889c0b6
Remove deprecated PUT /v2/keys/signed endpoint
2024-07-08 15:26:26 -04:00
Chris Eager
98f2cdaf5a
Reduce DynamoDB test client API timeouts
2024-07-08 15:26:11 -04:00
Jon Chambers
ff5cc3cb4f
Avoid duplicate metric registry configuration in commands
2024-07-08 15:25:16 -04:00
Jon Chambers
ebecb1caec
Throw an exception if metric registries are configured more than once
2024-07-08 15:25:16 -04:00
Jon Chambers
73e0aea85c
Retire Device#hasMessageDeliveryChannel()
2024-06-26 14:46:39 -04:00
Ameya Lokare
1a09f5807b
Update to the latest version of the spam filter
2024-06-26 11:45:58 -07:00
Ameya Lokare
ec009a2bba
Pass AccountAndAuthenticatedDeviceHolder to spam filter
2024-06-26 11:32:49 -07:00
Jon Chambers
f52c40a492
Update to the latest version of the spam filter
2024-06-25 11:57:37 -04:00
Jon Chambers
1959c059ed
Rename AuthEnablementRefreshRequirementProvider to LinkedDeviceRefreshRequirementProvider
2024-06-25 11:57:25 -04:00
Jon Chambers
2d1610b075
Stop monitoring device "enabled" state changes from auth enablement refresh requirement provider
...
Device enabled states no longer affect anything at an authentication level
2024-06-25 11:57:25 -04:00
Jon Chambers
2f76738b50
Expire APNs tokens if they haven't been updated since the expiration timestamp
2024-06-25 11:53:23 -04:00
Jon Chambers
1cf174a613
Include "token invalidation timestamp" in push notification responses
2024-06-25 11:53:23 -04:00
Jon Chambers
d743454d07
Store updated APNs tokens unconditionally
2024-06-25 11:53:23 -04:00
Jon Chambers
1cd16eaa08
Delete FCM tokens immediately if FCM reports that they're no longer active
2024-06-25 11:53:23 -04:00
Jon Chambers
90e622b307
Require that message bundles include all linked devices
2024-06-25 11:51:09 -04:00
Jon Chambers
cb5cd64c05
Gracefully handle NotPushRegisteredException
2024-06-25 11:23:16 -04:00
Jon Chambers
2619569549
Update to the latest version of the spam filter
2024-06-25 09:57:32 -04:00
Jon Chambers
d306cafbcc
Allow, but do not require, message delivery to devices without active delivery channels
2024-06-25 09:53:31 -04:00
Jon Chambers
f5ce34fb69
Update to the latest version of the spam filter
2024-06-24 15:41:11 -04:00
Jon Chambers
dbeba4f173
Reduce "delete after idle" time for accounts from 180 days to 120 days
2024-06-24 15:20:35 -04:00
Jon Chambers
86f83635bc
Document a missing "capability downgrade" response
2024-06-24 15:20:06 -04:00
Jon Chambers
fceda00d83
Consider all device when checking device capabilities
2024-06-24 15:20:06 -04:00
Jon Chambers
9b7af00cf5
Add methods to test whether a device may have unread messages
2024-06-24 15:19:48 -04:00
Chris Eager
fa1281ae86
Update maven plugin versions
2024-06-24 14:16:05 -05:00
Chris Eager
f5de4d7b71
Update various library dependencies
2024-06-24 14:16:05 -05:00
Chris Eager
1134df88e2
Remove obsolete "recaptcha"
2024-06-24 14:15:27 -05:00
ravi-signal
4aadabfac0
Make copy/delete streaming friendly
2024-06-20 16:00:09 -05:00
Jon Chambers
c27898a993
Update to the latest version of the spam filter
2024-06-20 11:36:00 -04:00
Ravi Khadiwala
daa897db93
Add some extra validation in integration tests
2024-06-18 15:29:58 -05:00
Jon Chambers
7a907bb44d
Update to the latest version of the spam filter
2024-06-14 15:01:37 -04:00
Jon Chambers
d7cb219577
Update to the latest version of the spam filter
2024-06-14 11:03:42 -04:00
Jon Chambers
b28f8b0e7f
Update to the latest version of the spam filter
2024-06-14 10:34:37 -04:00
Jon Chambers
51721dde50
Update to the latest version of the spam filter
2024-06-13 14:40:35 -04:00
Jon Chambers
09547ba788
Update to the latest version of the spam filter
2024-06-13 10:39:11 -04:00
Jon Chambers
3dc8acc385
Update to the latest version of the spam filter
2024-06-13 09:10:30 -04:00
Katherine
0414da8c32
Add delete sync capability
2024-06-12 13:54:06 -04:00
Jon Chambers
155450380e
Fix weird indentation
2024-06-12 13:53:48 -04:00
Jon Chambers
09bc4ef1d6
Measure sizes of group messages
2024-06-12 13:53:48 -04:00
Jon Chambers
3aa4d8713c
Switch to a remote-aggregated distribution for message size metrics
2024-06-12 13:53:48 -04:00
Jon Chambers
5fc926271f
Remove a metrics tag for "has spam reporting token"
2024-06-12 13:53:33 -04:00
Katherine
f435b612c9
Remove stale pni, pnp, and giftBadges capabilities
2024-06-12 13:42:18 -04:00
Jon Chambers
5b78c0d3e0
Update to the latest version of the spam filter
2024-06-10 17:21:04 -04:00
Jon Chambers
6a14bf70e0
Extend push token removal grace period from 3 days to 14
2024-06-10 17:16:49 -04:00
Jon Chambers
138b368951
Add an explicit "incorrect password" authentication failure reason
2024-06-10 17:16:32 -04:00
Jon Chambers
0871d6ebc1
Add a log filter for spurious warnings about unsupported channel options
2024-06-10 17:16:10 -04:00
Jon Chambers
ad5ef76e8e
Update to the latest version of the spam filter
2024-06-10 11:20:52 -04:00
Jon Chambers
2f55747601
Remove expiration check from Device#isEnabled()
2024-06-07 10:39:11 -07:00
Jonathan Klabunde Tomer
b376458963
include deleted-messages counter on both message deletion paths
2024-06-07 10:24:42 -07:00
Jon Chambers
64ac22a918
Resolve warnings/suggestions throughout MessageControllerTest
2024-06-06 14:11:44 -04:00
Alan Liu
ffb81e4ff7
Retrieve Cloudflare Turn Credentials from Cloudflare
2024-06-05 12:03:40 -04:00
Jonathan Klabunde Tomer
01743e5c88
Delete messages lazily on account and device deletion to prevent timeouts when deleting accounts/devices with large queues
2024-06-04 12:16:43 -07:00
Ameya Lokare
4ef6266e8f
Update spam-filter to the latest version
2024-06-03 15:33:25 -07:00
Ameya Lokare
478a8362b8
Update to the latest version of the spam filter
2024-06-03 12:17:02 -07:00
ravi-signal
afa1899dc9
Add a require.proto presence annotation
2024-06-03 14:07:02 -05:00
Ravi Khadiwala
cea2abcf6e
Fix some accidentally sync async methods
2024-06-03 14:07:02 -05:00
Jonathan Klabunde Tomer
c7d1ad56ff
support local-filesystem-based dynamic config for tests
2024-05-31 15:25:47 -07:00
ravi-signal
a5f490cc53
return nonzero exit code when check-dynamic-config fails
2024-05-30 16:21:51 -05:00
ravi-signal
abe29fa6ee
document gRPC error strategy
2024-05-30 16:20:34 -05:00
Chris Eager
f6d1e566e7
Add validation annotations to DynamicExperimentEnrollmentConfiguration
2024-05-24 09:11:48 -04:00
Jon Chambers
9ec4f0b2f5
Gracefully handle proxy protocol messages at the beginning of TCP connections
2024-05-24 09:11:19 -04:00
Ameya Lokare
1678045ce4
Update to the latest version of the spam filter
2024-05-23 10:29:53 -07:00
Chris Eager
7286e724dc
Add SIGNAL_SERVER_CONFIG override to LocalWhisperServerService
2024-05-23 12:08:48 -05:00
Jon Chambers
e59a1e9efd
Add support for TLS 1.2 for the benefit of load balancers performing health checks
2024-05-23 08:31:23 -04:00
Jon Chambers
097bedcb9b
Add a health check handler to the Noise-over-WebSocket pipeline
2024-05-22 14:46:05 -04:00
Jon Chambers
907ff89011
Use complete certificate chains from the TLS keystore
2024-05-22 12:38:29 -04:00
Chris Eager
08faa0c009
Only register metrics for connections to upstream nodes
2024-05-22 11:17:52 -05:00
Ravi Khadiwala
dd4759487b
Specify AuthCheckResponseV3 serialization
2024-05-22 09:42:05 -04:00
Jon Chambers
7980da9ce5
Set client public keys in the scope of a pessimistic account lock
2024-05-22 09:40:48 -04:00
Jon Chambers
0e43524dac
Remove client public keys when deleting accounts/devices
2024-05-22 09:40:48 -04:00
Jon Chambers
c5c5f642e8
Configure and instantiate a Noise-over-WebSocket tunnel
2024-05-22 09:37:25 -04:00
Jon Chambers
e096c608ee
Make Noise-over-WebSocket component names more consistent
2024-05-22 09:37:25 -04:00
Jon Chambers
9a2bfe1180
Add a plaintext mode to the Noise-over-WebSocket server for local testing
2024-05-22 09:25:28 -04:00
Ravi Khadiwala
9e36cabef0
Update to the latest version of the spam filter
2024-05-17 11:20:27 -05:00
ravi-signal
ce1c5be940
Add svr3 share-set store/retrieve
2024-05-17 10:45:18 -05:00
Ravi Khadiwala
1182d159aa
Move command boilerplate into a base class
2024-05-17 10:44:58 -05:00
Ravi Khadiwala
7d95926f02
Add a crawler for backup usage metrics
2024-05-17 10:38:00 -05:00
Jon Chambers
101ecf342f
Remove now-unused rate limiters
2024-05-16 16:56:42 -05:00
Jon Chambers
4efba94662
Add an API endpoint for storing public keys
2024-05-16 17:53:16 -04:00
Ravi Khadiwala
1855d661e8
Add maximum length to ProvisioningMessage
2024-05-16 16:47:47 -05:00
Ravi Khadiwala
438abc4cf9
Remove unused entity
2024-05-16 16:47:47 -05:00
Ravi Khadiwala
40639f70f4
Fix flaky MessageMetricsTest
...
Make the MeterRegistry in MessageMetrics configurable
2024-05-16 13:39:17 -05:00
Ravi Khadiwala
a80c020146
Remove AssignUsernameCommand
2024-05-13 16:43:02 -05:00
Ravi Khadiwala
2ce3270d21
Update docker container image
2024-05-13 16:39:54 -05:00
Ravi Khadiwala
4d8fe0b6b2
Fix a flaky test
2024-05-07 13:52:35 -05:00
Max Moiseev
411087ff1a
Add a testcase with real libsignal User Agent
2024-05-07 14:51:01 -04:00
ravi-signal
10bb2a6a10
Add finer grain rollouts to experiments
2024-05-06 13:28:32 -05:00
Ravi Khadiwala
7aff81547a
Manage some unmanaged executors
2024-05-06 13:25:18 -05:00
Ravi Khadiwala
fc097db2a0
Use storage-manager's copy implementation
2024-05-06 13:15:42 -05:00
Alan Liu
843151859d
Adding hostname property to cloudflare turn config
2024-05-02 12:35:32 -07:00
adel-signal
854ab353b3
calling: update TurnCallRouter to shuffle instance IPs to prevent allocation skew
...
Co-authored-by: Jonathan Klabunde Tomer <125505367+jkt-signal@users.noreply.github.com >
2024-05-02 12:34:34 -07:00
Ameya Lokare
cc6ec1d351
Update to the latest version of the spam filter
2024-05-02 12:24:54 -07:00
Chris Eager
cf307db31d
Update JsonMappingExceptionMapper “Early EOF” logic
2024-05-01 10:31:11 -05:00
Chris Eager
dcfca4d95e
Update to the latest version of the spam filter
2024-05-01 10:30:53 -05:00
Chris Eager
567c368a81
Add DiscoverableSubtypeResolver to static YAML_MAPPER
2024-05-01 10:21:55 -05:00
Chris Eager
223b2fc263
Add javax.validation.Validator to SpamFilter#configure
2024-05-01 10:21:55 -05:00
Chris Eager
4a28ab6317
Add support to trial Cloudflare TURN beta
2024-05-01 10:15:01 -05:00
Chris Eager
0986ce12e6
Validate integration test Config
2024-05-01 10:11:15 -05:00
Ravi Khadiwala
37aa3b8e49
Default to 0 usedBytes in GET /v1/archives
2024-05-01 10:10:46 -05:00
Chris Eager
d7f14339fe
Update to the latest version of the spam filter
2024-04-29 11:18:23 -05:00
Chris Eager
0e4be0c85a
Add tests for WhisperServerService#run
...
Additionally, `LocalWhisperServerService` may be used for integration testing.
2024-04-29 11:05:35 -05:00
Jon Chambers
b6f8bca361
Update to the latest version of the spam filter
2024-04-26 15:59:32 -04:00
Jon Chambers
354c72968e
Update to the latest version of the spam filter
2024-04-26 15:37:04 -04:00
Jon Chambers
9d3e3c7312
Use a common utility for turning Google API futures into CompletableFutures
2024-04-26 15:27:59 -04:00
Ravi Khadiwala
88e2687e23
Add a check for missing uak in OptionalAccess
2024-04-26 15:24:54 -04:00
Ravi Khadiwala
19944bfdb2
Update to libsignal 0.45 and use libsignal's BackupLevel
2024-04-25 16:54:41 -05:00
Ravi Khadiwala
c8efcf5105
Don't map a Mono<Void>
2024-04-25 16:47:34 -05:00
Jon Chambers
7f6da52349
Publish donation events for immediately-successful donations
2024-04-24 13:16:37 -04:00
Jon Chambers
8999f0104f
Trigger pub/sub events for one-time donations via Braintree (PayPal)
2024-04-24 09:19:21 -04:00
Jon Chambers
516c481e94
Pass a CurrencyConversionManager to BraintreeManager
2024-04-24 09:19:21 -04:00
Jon Chambers
3266c2cd8f
Add cloud pubsub as a dependency
2024-04-24 09:19:21 -04:00
Jonathan Klabunde Tomer
f0dcd8e07b
Group Send Endorsement support for unversioned profile fetch
2024-04-23 14:58:19 -07:00
ravi-signal
9ef1fee172
Add DELETE v1/archives
2024-04-23 16:50:11 -05:00
Jonathan Klabunde Tomer
b3bd4ccc17
simplify profile auth
2024-04-23 14:49:04 -07:00
Chris Eager
fba7686390
Remove shard tag from Lettuce circuit breaker metrics
2024-04-23 16:00:46 -05:00
Ameya Lokare
2d314e5309
Minor: Return exception instead of throwing it in .orElseThrow()
...
Gets rid of an IntelliJ warning about it. No difference in behavior, there is
a test that already covers this path.
2024-04-22 09:32:12 -04:00
Jon Chambers
ed72d7f9ec
Attach client platforms when creating donations
2024-04-22 09:31:57 -04:00
Jonathan Klabunde Tomer
b8f64fe3d4
Group Send Endorsement support for pre-key fetch endpoint
2024-04-19 15:40:46 -07:00
Chris Eager
ab64828661
Update custom Gauges to Micrometer MeterBinders
2024-04-17 17:43:34 -05:00
Chris Eager
10dfa18e81
Update to the latest version of the spam filter
2024-04-17 15:53:12 -05:00
Chris Eager
a38bf25e68
Migrate remaining custom metrics from Dropwizard to Micrometer
...
And remove some that are obsolete or duplicative.
2024-04-17 15:35:04 -05:00
Ameya Lokare
419ec6e308
Update to the latest version of the spam filter
2024-04-17 10:14:45 -07:00
Jonathan Klabunde Tomer
ada589d0c3
accept Group Send Endorsements for single-recipient message send
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com >
2024-04-16 15:06:40 -07:00
Chris Eager
7068d27a8b
Update to the latest version of the spam filter
2024-04-16 12:30:14 -05:00
Chris Eager
a302275187
Use a single cluster instance in MessagesCache
2024-04-16 12:04:18 -05:00
Chris Eager
b734d58ab7
Coalesce all Redis clusters to per-shard circuit breakers
2024-04-16 12:04:18 -05:00
Ravi Khadiwala
2046b02bd8
Rename RedeemReceiptRequest to help openapi
2024-04-16 11:16:18 -05:00
Chris Eager
1df824db7c
Remap some JsonMappingExceptions to 408 and 400
2024-04-15 16:01:09 -05:00
Chris Eager
9cad2c6b7d
Improve test Redis cluster setup and teardown
2024-04-15 15:58:23 -05:00
Chris Eager
82881c030a
Update to the latest version of the spam filter
2024-04-15 14:13:09 -05:00
ravi-signal
00ca7d5942
Add cdn number query parameter to /archives/auth/read
2024-04-15 13:59:14 -05:00
ravi-signal
d36df3eaa9
Add new upload-for-copy backup endpoint
2024-04-15 13:47:46 -05:00
ravi-signal
e5d654f0c7
Add /v1/archives/redeem-receipt
2024-04-15 13:47:02 -05:00
Chris Eager
fc1f471369
Use per-shard circuit breakers for additional Redis clusters
2024-04-15 13:45:24 -05:00
Ameya Lokare
be6f4e38b8
Update to the latest version of the spam filter
2024-04-12 11:29:18 -07:00
Chris Eager
faa8674f39
Update to the latest version of the spam filter
2024-04-12 11:34:39 -05:00
Chris Eager
2dc707d86e
Add per-shard Redis circuit breakers
2024-04-12 11:22:41 -05:00
Chris Eager
05a92494bb
Remove X-Forwarded-For from RemoteAddressFilter
2024-04-11 11:03:37 -05:00
Alex Konradi
39fd955f13
Allow clients to request zkc-based auth creds
...
Allow clients to pass a zkcCredential=true query parameter to request the new
auth credential format implemented with the zkcredential Rust library.
2024-04-11 11:00:10 -05:00
ravi-signal
4863e1d227
Add backup levels to subscription configuration response
2024-04-11 10:58:40 -05:00
Jonathan Klabunde Tomer
44ad9d4f5f
Update to the latest version of the spam filter
2024-04-10 16:52:28 -07:00
Jonathan Klabunde Tomer
2b652fe2a9
accept group send endorsements for multi-recipient sends
2024-04-10 16:51:09 -07:00
Ravi Khadiwala
cdd2082b07
Decrease logging level in RemoveExpiredBackupsCommand
2024-04-10 18:41:29 -05:00
Chris Eager
5c74aed8f6
Update to the latest version of the spam filter
2024-04-04 16:37:27 -05:00
Chris Eager
5b97bc04e0
Add ExternalRequestFilter
2024-04-04 16:24:20 -05:00
Ravi Khadiwala
63c8b275d1
Return 401 instead of 404 on unknown backup-ids
2024-04-04 10:56:48 -05:00
Ravi Khadiwala
1ebc17352f
Check presentation before verifying the signature
2024-04-04 10:56:48 -05:00
Ravi Khadiwala
268c8382ee
Fix Backup expiration purge time
2024-04-04 10:55:55 -05:00
ravi-signal
498dcbbfe8
Make media encrypter stream ordered
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com >
2024-04-04 10:53:45 -05:00
Ravi Khadiwala
3a1ecb342f
allow striping clients in FaultTolerantHttpClient
2024-04-04 10:47:34 -05:00
ravi-signal
bb0da69c9e
Set the shutdown gauge earlier in the shutdown process
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com >
2024-04-02 09:39:55 -05:00
Jon Chambers
796dce3cd3
Always use the "peek" strategy for counting one-time pre-keys
2024-04-02 10:31:20 -04:00
Jon Chambers
f59c34004d
De-idiom-ize a "wait for everything to finish" idiom
2024-04-02 10:30:44 -04:00
Ameya Lokare
c4cbf0d618
Update to the latest version of the spam filter
2024-04-01 15:09:44 -07:00
Katherine
d002e5dda8
Hardcode paymentActivation flag to true
2024-04-01 15:07:11 -07:00
Chris Eager
a9d0ab271d
Update embedded-redis to 0.9.0
2024-04-01 17:06:55 -05:00
Chris Eager
89cb821c97
Remove vavr dependency
2024-04-01 17:06:55 -05:00
Chris Eager
ef8c520b59
Update reactor-bom to 2023.0.4
2024-04-01 17:06:55 -05:00
Chris Eager
8897fd75ad
Update push to 0.15.4
2024-04-01 17:06:55 -05:00
Chris Eager
fd748c1dc3
Update netty to 4.1.108.Final
2024-04-01 17:06:55 -05:00
Chris Eager
c95dbf7508
Update resilience4j to 2.2.0
2024-04-01 17:06:55 -05:00
Chris Eager
ed64c38950
Update Micrometer to 1.12.4
2024-04-01 17:06:55 -05:00
Chris Eager
0b5be8cdcd
Update Lettuce to 6.3.2.RELEASE
2024-04-01 17:06:55 -05:00
Chris Eager
fcc77052a6
Add org.eclipse.jetty.io.EofException to expected measureSendMessageErrors
2024-04-01 17:06:29 -05:00
Ravi Khadiwala
831c9ff5bf
Make backupDir/mediaDir indirect
2024-04-01 13:45:21 -05:00
Ravi Khadiwala
de37141812
Add a crawler that expires old backups
2024-04-01 13:45:21 -05:00
Ameya Lokare
c35a648734
Update to the latest version of the spam filter
2024-03-27 15:44:31 -07:00
Ravi Khadiwala
a550caf63f
Make sure we close the HTTP/2 stream after cdn read errors
2024-03-27 17:00:37 -05:00
Ravi Khadiwala
de9eaa98db
404 instead of 400 on unknown source cdn
2024-03-27 17:00:37 -05:00
ravi-signal
37b657cbbd
avoid baos::writeTo on virtual threads
2024-03-27 16:58:38 -05:00
Jon Chambers
a733f5c615
Add debugging context to signature validation failures
2024-03-27 17:58:02 -04:00
Jon Chambers
8a587d1d12
Rename NoiseStreamHandler to NoiseTransportHandler for consistency with Noise specification terminology
2024-03-27 17:57:46 -04:00
Chris Eager
75bb22f08b
Include HTTP2ServerConnectionFactory in JettyHttpConfigurationCustomizer
2024-03-27 16:56:19 -05:00
Jon Chambers
d10da39e5b
Pare back debug-oriented metrics around fetching pre-keys
2024-03-26 16:44:34 -04:00
adel-signal
54e9b839bd
update TurnTokenGenerator to add whether this is with ip or url turn allocation
2024-03-26 13:40:53 -07:00
Jon Chambers
aec6ac019f
Introduce a Noise-over-WebSocket client connection manager
2024-03-22 15:20:55 -04:00
Ravi Khadiwala
075a08884b
Preserve backupCredentialRequest across rereg
2024-03-22 14:19:35 -05:00
Jon Chambers
6fcb2ab5dd
Remove username phased rollout plumbing (usernames are now available to everybody)
2024-03-21 13:42:20 -04:00
ameya-signal
7f0f045f29
Minor cleanup of report spam endpoint ( #1979 )
2024-03-21 10:41:25 -07:00
Ravi Khadiwala
e7d1eadf8e
Fix experiments in BackupAuthManager
2024-03-20 11:43:07 -05:00
Chris Eager
a9b5359f7c
Update to the latest version of the spam filter
2024-03-19 13:32:33 -05:00
Chris Eager
9df6e19204
Ignored EofException response failure in MetricsHttpChannelListener
2024-03-18 17:38:19 -05:00
Chris Eager
5eaae184c9
Set request failure to debug in MetricsHttpChannelListener
2024-03-18 17:38:19 -05:00
Chris Eager
459882e6fa
Add JettyHttpConfigurationCustomizer
2024-03-18 17:38:19 -05:00
Chris Eager
2c2b5d555e
Rename obsolete uses of recaptcha
2024-03-13 16:40:32 -05:00
Alex Konradi
0ab2428d87
Don't produce zkgroup auth creds with PNI as ACI
2024-03-13 16:22:45 -05:00
Chris Eager
8574494573
Support "captcha" rename in AnswerChallengeRequest.type
2024-03-13 16:19:05 -05:00
Chris Eager
a4d4a9c686
Remove RecaptchaClient
2024-03-13 16:19:05 -05:00
Chris Eager
3d32b68bb2
Move WebSocketClient SecureRandom to a static field
2024-03-12 16:54:38 -05:00
Chris Eager
fd9eb462cc
Replace extraneous SecureRandom with empty byte array
2024-03-12 16:49:57 -05:00
Ravi Khadiwala
f9533e016f
Adjust metrics in RemoveExpiredUsernameHoldsCommand
2024-03-11 13:50:08 -05:00
Jon Chambers
85b15fa63b
Actually increment the "get group credentials" counter
2024-03-08 17:07:16 -05:00
Chris Eager
e236842888
Update to the latest version of the spam filter
2024-03-08 14:11:56 -06:00
Chris Eager
3dadaf9334
Migrate DynamicConfigurationManager to use java.util.concurrent
2024-03-08 13:53:28 -06:00
Ravi Khadiwala
9e510a678c
disable response buffering on the websocket
...
Jersey buffers responses (by default up to 8192 bytes) just so it can
add a content length to responses. We already buffer our responses to
serialize them as protos, so we can compute the content length
ourselves. Setting the buffer to zero disables buffering.
2024-03-08 13:46:00 -06:00
Chris Eager
2dc0ea2b89
Address potential NullPointerException when calling Collection#contains
2024-03-08 13:43:31 -06:00
Alex Konradi
7d364ca7ce
Count group auth reqs without pniAsServiceId=true
2024-03-06 15:41:48 -05:00
Chris Eager
9f6a6d7f5b
Include HTTP/2 stream idle timeouts in IOExceptionMapper
2024-03-06 11:11:39 -06:00
Ravi Khadiwala
3cc740cda3
Temporarily hold a username after an account releases it
2024-03-06 11:09:25 -06:00
Ravi Khadiwala
47b24b5dff
Simplify username operations in Accounts
...
- Group username table constants together
- Rethrow JsonProcessingException earlier
- Use UpdateAccountSpec.forAccount in username operations
- Inline confirm/clear transaction helpers
2024-03-06 11:09:25 -06:00
adel-signal
8f100a792e
calling: update TurnCallRouter to reduce returned options
2024-03-05 11:26:19 -08:00
Chris Eager
84c6731ddf
Update protobuf.version to match upstream
2024-02-29 16:56:25 -06:00
Chris Eager
1f1de353de
Reapply "Update to Dropwizard 3.0.6"
...
This reverts commit 95e83c52fa .
2024-02-29 16:56:25 -06:00
Chris Eager
40eb82adbe
Update actions/checkout and actions/setup-java to 4.x
2024-02-29 15:56:55 -06:00
Ehren Kret
d9240e1e2e
use consistent abbreviation for GNU AGPLv3
2024-02-28 18:09:27 -06:00
Ehren Kret
9abaed8385
update README copyright year
2024-02-28 17:51:05 -06:00
Ravi Khadiwala
95e83c52fa
Revert "Update to Dropwizard 3.0.6"
...
This reverts commit 2ad5d33251 .
2024-02-28 15:58:55 -06:00
Ravi Khadiwala
be377dcda8
Update to the latest version of the spam filter
2024-02-28 15:34:32 -06:00
Chris Eager
88a68e883e
Update various <exclusions> in POM
2024-02-28 15:25:33 -06:00
Chris Eager
2ad5d33251
Update to Dropwizard 3.0.6
2024-02-28 15:25:33 -06:00
Ravi Khadiwala
4e5dd914dd
Add varargs variant to HmacUtil
2024-02-28 15:18:39 -06:00
ravi-signal
2adf1e5017
Avoid modification of Account from @ReadOnly endpoint
2024-02-28 15:18:12 -06:00
Jon Chambers
55ca4e93c4
Update to noise-java 0.1.1
2024-02-28 16:16:46 -05:00
Jon Chambers
d1d03f45c5
Resolve warnings throughout AccountControllerTest
2024-02-26 16:11:03 -05:00
Ravi Khadiwala
436bd891bd
Don't register SpamFilter as a request filter
2024-02-26 09:33:36 -06:00
Chris Eager
a7c28fe5ed
Rename "name" tags to be more distinguishing
2024-02-26 09:32:50 -06:00
Chris Eager
60814d1ff0
Configure metrics registries earlier in background command setup
2024-02-26 09:32:01 -06:00
Jon Chambers
d018efe2a5
Require non-null proofs in "confirm username hash" requests
2024-02-26 10:30:52 -05:00
Jon Chambers
6fd0cba06a
Temporarily restore the giftBadges capability for backward compatibility
2024-02-26 10:30:29 -05:00
Ravi Khadiwala
86f9322036
Update to the latest version of the spam filter
2024-02-23 16:08:41 -06:00
Katherine
12c6af23ee
Map TransactionConflict to ContestedOptimisticLockException in username flows
2024-02-23 14:06:03 -08:00
Ravi Khadiwala
69330f47fd
Explicitly call spam-filter for verification session updates
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-23 16:04:24 -06:00
Ravi Khadiwala
4f40c128bf
Explicitly call spam-filter for challenges
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-23 15:58:52 -06:00
Jon Chambers
30b5ad1515
Fix an incorrectly-named "check keys" method
2024-02-23 13:17:10 -05:00
adel-signal
665a26d164
update call routing to return ipv6 ips in RFC3986 format
2024-02-23 11:57:58 -05:00
Jon Chambers
a5774bf6ff
Introduce a (dormant) Noise/WebSocket for future client/server communication
2024-02-23 11:42:42 -05:00
Jon Chambers
d2716fe5cf
Add an endpoint for checking that clients and the server have a common view of the client's repeated-use keys
2024-02-23 11:41:58 -05:00
Jon Chambers
279f877bf2
Validate pre-key signatures via the legacy "set signed pre-key" endpoint
2024-02-23 11:33:41 -05:00
Ravi Khadiwala
d51e6a43e7
Update to the latest version of the spam filter
2024-02-22 12:12:42 -06:00
Ravi Khadiwala
6a96756c87
Update to the latest version of the spam filter
2024-02-22 12:09:37 -06:00
Ravi Khadiwala
df69d9f195
Annotate authenticated endpoints with @ReadOnly or @Mutable
2024-02-22 12:05:32 -06:00
Ravi Khadiwala
26ffa19f36
Lifecycle management for Account objects reused accross websocket requests
2024-02-22 12:05:32 -06:00
Jon Chambers
29ef3f0b41
Add tests and metrics for parsing invalid keys
2024-02-21 15:32:25 -05:00
Jon Chambers
106d5e54c7
Extract a common base class for public key serializers/deserializers
2024-02-21 15:32:25 -05:00
Jon Chambers
6ac2460eb0
Drop the "key without version byte" counter
2024-02-21 15:32:25 -05:00
dependabot[bot]
79c030b138
Bump org.apache.commons:commons-compress from 1.24.0 to 1.26.0 in /service
2024-02-21 11:52:41 -08:00
Chris Eager
c8d649e8c2
Update MetricsHttpChannelListener to share MetricsRequestEventListener namespace
2024-02-21 13:32:47 -06:00
Ravi Khadiwala
1fdf82dd6c
Remove unused ChangePhoneNumberRequest object
...
Actual request object is ChangeNumberRequest
2024-02-21 13:32:27 -06:00
Jon Chambers
4aa4246695
Clear account records from the account cache after username operations
2024-02-20 12:11:29 -05:00
Chris Eager
1bebceb29c
Actually fix flaky test in MetricsHttpChannelListenerIntegrationTest
2024-02-20 10:52:04 -06:00
Jon Chambers
a2139ee236
Revert "Add diagnostic dimensions to the "get keys" counter"
...
This reverts commit cd64390141 .
2024-02-18 20:14:05 -05:00
Jon Chambers
8c55f39cdf
Revert "Use a phased enrollment strategy for the pnp compatibility flag"
...
This reverts commit 3e12a8780d .
2024-02-18 20:08:39 -05:00
Chris Eager
0329184c94
Fix flaky test in MetricsHttpChannelListenerIntegrationTest
2024-02-18 20:08:29 -05:00
Jon Chambers
cd64390141
Add diagnostic dimensions to the "get keys" counter
2024-02-18 18:10:58 -05:00
Jon Chambers
3e12a8780d
Use a phased enrollment strategy for the pnp compatibility flag
2024-02-18 17:59:00 -05:00
Jon Chambers
11e6ff1bbe
Introduce a pnp capability for backward compatibility
2024-02-18 17:59:00 -05:00
Jon Chambers
36f85fc97e
Fix an inverted boolean in a counter
2024-02-16 15:18:18 -05:00
Jon Chambers
9040cfd200
Count "store key" attempts by key type/platform
2024-02-16 13:09:55 -05:00
Jon Chambers
757da3b15a
Fully-qualify OpenAPI Tag, allowing for imported Micrometer Tag
2024-02-16 13:09:55 -05:00
Jon Chambers
d162590a32
Record a remote-aggregated distribution of one-time pre-key counts
2024-02-16 13:09:55 -05:00
Jon Chambers
f41e1716c6
Combine/expand existing "get keys" counter
2024-02-16 13:09:55 -05:00
Jon Chambers
4dce0f1b9d
Add identity type/"stale" dimensions to the "pre-key unavailable" counter
2024-02-16 13:09:55 -05:00
Jonathan Klabunde Tomer
fef57dce0d
use explicit Timer rather than micrometer annotation for send-message latency distribution
2024-02-15 14:58:43 -08:00
Jon Chambers
d884700b61
Significantly reduce default Redis command timeout
2024-02-15 17:57:17 -05:00
Jonathan Klabunde Tomer
ff9ad4bd1d
export 1:1 message send latency as a full distribution
2024-02-15 10:33:02 -08:00
Chris Eager
9ce2b7555c
Add static servlet paths to MetricsHttpChannelListener
2024-02-14 17:09:30 -06:00
Jon Chambers
f90ccd3391
Count attempts to fetch a one-time EC pre-key that result in a "key unavailable" response
2024-02-14 18:04:31 -05:00
Jon Chambers
5ff092e541
Retire the pni device capability
2024-02-14 18:04:23 -05:00
Ravi Khadiwala
dcdf401f64
Make DELETE /v1/device synchronous
2024-02-14 15:30:10 -05:00
Chris Eager
e4fb80b39b
Add onResponseFailure handler to MetricsHttpChannelListener
2024-02-14 13:43:23 -06:00
Chris Eager
9745854ab8
Switch MetricsHttpChannelListener to ContainerResponseFilter
2024-02-14 13:43:23 -06:00
Jon Chambers
7124621f66
Use pre-calculated pre-key counts when possible
2024-02-14 14:28:33 -05:00
Jon Chambers
47fd8f5793
Assume that all devices are PNI-capable
2024-02-14 14:27:48 -05:00
Jonathan Klabunde Tomer
40d698f2db
Remove last vestiges of stale capabilities.
...
Not for deployment until 2024-02-06!
2024-02-14 14:23:05 -05:00
adel-signal
74abe98706
initialize call routing data syncs
2024-02-13 17:05:08 -08:00
Chris Eager
86787f3bc8
Start DynamicConfigurationManager directly after construction
2024-02-13 13:08:20 -06:00
Chris Eager
699b0c775a
Add dynamic configuration to enable detailed Lettuce metrics
2024-02-13 10:33:43 -06:00
Chris Eager
ff59ef8094
Add MetricHttpChannelListener
2024-02-13 10:29:03 -06:00
Jonathan Klabunde Tomer
089af7cc1f
correct metric name in MaxMindDatabaseManager timer
2024-02-09 13:37:39 -08:00
Jonathan Klabunde Tomer
1591a2d9a3
CallRoutingTableManager: fix crash on startup due to typo in metric naming
2024-02-09 12:27:51 -08:00
Jonathan Klabunde Tomer
f7984ed642
CallDnsRecordsManager: fix crash on startup due to typo in metric naming
2024-02-09 12:14:50 -08:00
Jonathan Klabunde Tomer
be634c6043
Update to the latest version of the spam filter
2024-02-09 11:38:18 -08:00
adel-signal
d1f68eacd9
Add call routing API endpoint for turn servers
2024-02-09 11:12:23 -08:00
Jon Chambers
4f45f23094
Prevent old versions of the Android app from carrying out "change phone number" requests
2024-02-09 09:58:38 -05:00
Jon Chambers
c5dc01ee11
Restore high-cardinality Lettuce metrics for debugging
2024-02-08 19:27:56 -05:00
Ravi Khadiwala
587c385936
Update to the latest version of the spam filter
2024-02-07 17:19:59 -06:00
Ravi Khadiwala
3a641a58b0
Update to the latest version of the spam filter
2024-02-07 14:38:35 -06:00
Chris Eager
e944306a28
Remove obsolete dropwizard-db dependency
2024-02-07 14:35:23 -06:00
Ravi Khadiwala
3b44ed6d16
Explicitly call spam-filter for messages
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-07 14:30:32 -06:00
Chris Eager
0965ab8063
Move HeaderUtils#getMostRecentyProxy to RemoteAddressFilter
2024-02-07 14:28:37 -06:00
Chris Eager
fcae100df1
Add dropwizard-http2 dependency
2024-02-07 14:28:20 -06:00
Fedor Indutny
24a7762873
Add identityType tag to SENT_MESSAGE_COUNTER_NAME
2024-02-06 17:39:00 -06:00
Chris Eager
e441ab60a2
Add metric for IPv4/IPv6 requests count
2024-02-06 17:38:25 -06:00
Chris Eager
50c2bc5edb
Update to the latest version of the spam filter
2024-02-05 13:45:50 -06:00
Chris Eager
2ab14ca59e
Refactor remote address/X-Forwarded-For handling
2024-02-05 13:37:06 -06:00
Chris Eager
4475d65780
Make Accounts#changeNumber exception handling more resilient to future changes
2024-02-01 15:14:15 -06:00
Ravi Khadiwala
b1d10f5817
Add lifecycle management for AwsCrt for commands
2024-02-01 15:08:45 -06:00
Chris Eager
36664f37de
Update to the latest version of the spam filter
2024-01-31 18:04:03 -06:00
Chris Eager
c838df90ef
Add HttpServletRequestUtil
2024-01-31 17:53:47 -06:00
Chris Eager
fb39af67e5
Allow for more TransactWriteItems when inspecting TransactionCanceledException
2024-01-31 17:46:32 -06:00
Chris Eager
2d4d37f96a
Translate TransactionCanceledException to ContestedOptimisticLockException in Accounts#changeNumber
2024-01-31 17:27:16 -06:00
Jonathan Klabunde Tomer
84af984c4b
remove unversioned and libsignal-0.36 versioned zk secrets from sample bundle
2024-01-31 15:25:23 -08:00
Jon Chambers
26adf20ee8
Make "fetch profile" endpoints @ManagedAsync
2024-01-31 14:38:50 -06:00
Jon Chambers
72668ed0a2
Make "send individual message" endpoint @ManagedAsync
2024-01-31 14:38:50 -06:00
Ravi Khadiwala
50f1ed7851
Add a virtual-thread backed @ManagedAsyncExecutor
2024-01-31 14:38:50 -06:00
ravi-signal
cf8f2a3463
remove synchronized locks that may be held while blocking
2024-01-31 14:29:15 -06:00
ravi-signal
b483159b3a
reintroduce VirtualThreadPinEventMonitor
2024-01-31 14:28:12 -06:00
ravi-signal
480abebf7e
Offload account lock updates to accountLockExecutor
2024-01-31 14:27:16 -06:00
Ravi Khadiwala
b924dea045
Remove VirtualThreadPinEventMonitor
2024-01-30 13:49:39 -06:00
Ravi Khadiwala
2c1e7e5ed6
Disable flaky VirtualThreadPinEventMonitorTest
2024-01-30 13:29:58 -06:00
Ravi Khadiwala
4dfd74906c
Add timeouts to VirtualThreadPinEventMonitorTest
2024-01-30 13:10:43 -06:00
Chris Eager
fdae6ad94f
Update to the latest version of the spam filter
2024-01-30 12:53:01 -06:00
Chris Eager
c80225a18c
Remove NoneHealthResponder
2024-01-30 12:51:43 -06:00
ravi-signal
0e6242373e
Add a monitor for virtual thread pin events
2024-01-30 12:48:07 -06:00
ravi-signal
4305db5579
Update to aws sdk 2.23.8 and use AwsCrtHttpClient
2024-01-30 12:46:27 -06:00
ravi-signal
36e7772f74
Put some validation on to profile version strings
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com >
2024-01-26 15:24:38 -06:00
Chris Eager
ca05df5172
Revert "Add support for secondary credentials for registration service"
...
This reverts commit 4b8fc2950f .
2024-01-26 11:42:35 -06:00
Chris Eager
422e8e6f3e
Remove CommandStopListener
2024-01-26 11:31:04 -06:00
Jon Chambers
852b285d84
Configure and instantiate a ClientPublicKeys data store/manager
2024-01-26 10:29:59 -05:00
Jon Chambers
6c13193623
Add a data store for client public keys for transport-level authentication/encryption
2024-01-26 10:29:59 -05:00
Ravi Khadiwala
61809107c8
Update to the latest version of the spam filter
2024-01-25 13:27:13 -06:00
Ravi Khadiwala
6bda9d8604
Set destination account on the request context
2024-01-25 13:02:28 -06:00
Ravi Khadiwala
1428ca73de
Make identity token fetcher more async friendly
...
After the identity token expires a subsequent call would do a blocking
operation to retrieve the new token. Since we're making use of an async
gRPC client, this tends to block a thread we don't want to be blocking
on.
Instead, switch to periodically refreshing the token on a dedicated
thread.
2024-01-25 13:01:21 -06:00
Katherine
498ace0488
Remove iOS special case handling logic for SEPA/iDEAL
2024-01-25 10:52:17 -08:00
Chris Eager
f082b95efb
Update to the latest version of the spam filter
2024-01-24 15:01:35 -06:00
Chris Eager
4b8fc2950f
Add support for secondary credentials for registration service
2024-01-24 13:52:23 -06:00
Jon Chambers
595cc55578
Retire the returnPqKey flag when fetching pre-keys
2024-01-23 16:01:40 -05:00
Ravi Khadiwala
91b0c368b4
Remove unused table configuration parameter
2024-01-23 14:48:52 -06:00
Jonathan Klabunde Tomer
21d0ffc990
Allow "reserving" one's own committed username hash
2024-01-23 12:44:55 -08:00
Chris Eager
55b9d84956
Add host to DogstatsdConfiguration
2024-01-22 15:59:52 -06:00
Chris Eager
ffdb0db6c6
Migrate from host tag to dd.internal.entity_id
2024-01-22 15:59:52 -06:00
Chris Eager
a5ed07a666
Support environment variable substitution in configuration
2024-01-22 11:25:18 -06:00
Chris Eager
da02c90bad
Remove AWS instance profile credentials provider
2024-01-22 11:24:03 -06:00
Ravi Khadiwala
3820a231ec
Strictly enforce ACI service identifier strings have no prefix
2024-01-22 11:23:33 -06:00
Dimitris Apostolou
408b065b9e
Fix typos
2024-01-20 12:40:08 -05:00
hduelme
238ab84749
use StandardCharsets UTF_8 instead of String
2024-01-20 12:39:43 -05:00
Ravi Khadiwala
6894015986
Update to the latest version of the spam filter
2024-01-19 14:32:15 -06:00
Ravi Khadiwala
f5080f9bd6
Support configurable verification code sender overrides
2024-01-19 13:58:17 -06:00
Ravi Khadiwala
db4aa99ce0
Make the ServiceIdentifier interface sealed
2024-01-19 13:57:20 -06:00
ravi-signal
70134507f8
Add metric for ServiceId string parsing
2024-01-19 13:56:47 -06:00
Ravi Khadiwala
360a4793ae
Remove global lock in RateLimitChallengeManager
2024-01-19 13:56:09 -06:00
Jon Chambers
47bfb25f2c
Retire a now-unused transacational update method for accounts
2024-01-18 16:40:21 -05:00
Jon Chambers
b048b0bf65
Remove signed pre-keys from Device entities
2024-01-18 12:13:00 -05:00
Jonathan Klabunde Tomer
394f9929ad
limit size of multi-recipient messages
2024-01-11 16:31:37 -08:00
ravi-signal
bf39be3320
Add Content-Type header for copy uploads
2024-01-11 14:59:35 -06:00
Chris Eager
4a2cbb9ec7
Stop timers on Flux termination
2024-01-11 14:57:31 -06:00
Ravi Khadiwala
cc6cf8194f
Add media deletion endpoint
2024-01-11 10:19:06 -06:00
Ravi Khadiwala
e934ead85c
Fix incorrect comparison in archive usage metric
2024-01-11 10:19:06 -06:00
Ravi Khadiwala
323bfd9a6e
Remove some secondary keys from account cache
...
Remove e164, usernameHash, and usernameLink secondary mappings from the
accounts redis cache.
2024-01-11 10:10:32 -06:00
Jon Chambers
bf05e47e26
Get accounts asynchronously when checking SVR credentials via gRPC
2024-01-11 11:09:49 -05:00
Jon Chambers
d18f576239
Revert "Revert "Treat the stand-alone signed pre-keys table as the source of truth for signed pre-keys""
...
This reverts commit 3f9edfe597 .
2024-01-10 11:22:10 -05:00
Jon Chambers
7d483c711a
Revert "Revert "Retire "migrate signed pre-keys" configuration""
...
This reverts commit a024949311 .
2024-01-10 11:22:10 -05:00
Jon Chambers
61256d49cd
Revert "Revert "Retire the "migrate signed pre-keys" command""
...
This reverts commit f738bc97e7 .
2024-01-10 11:22:10 -05:00
Jonathan Klabunde Tomer
184cdc0331
Remove two-stage check of username availability in reserve/confirm
2024-01-09 14:01:42 -08:00
Ravi Khadiwala
ed972a0037
Fix archive listing directory prefix order
2024-01-09 16:01:11 -06:00
Ravi Khadiwala
a62a6c1cb6
Change type of Cdn3StorageManagerConfiguration.clientSecret to SecretString
2024-01-08 16:06:54 -06:00
Ravi Khadiwala
ba0c6be3e3
Update to the latest version of the spam filter
2024-01-08 15:00:29 -06:00
Ravi Khadiwala
f66566aa17
Fix default configuratiton in MonitoredS3ObjectConfiguration
2024-01-08 14:52:14 -06:00
ravi-signal
b6ecfc7131
Add archive listing
2024-01-08 13:54:57 -06:00
adel-signal
460dc6224c
Update to the latest version of the spam filter
2024-01-08 10:56:43 -08:00
adel-signal
2b688b1a60
Refactor spam filter's S3MonitoredObject to server parent module.
...
Allows other parts of server to use S3MonitoredObjects.
2024-01-08 10:34:12 -08:00
Jon Chambers
3c64d9292f
Revert "Expand the default max packet size for Dogstatsd"
...
This reverts commit 0f52d2e464 .
2024-01-08 12:23:16 -05:00
Jon Chambers
0f52d2e464
Expand the default max packet size for Dogstatsd
2024-01-08 11:43:50 -05:00
Jonathan Klabunde Tomer
1e5fadc440
Allow reserving a hash previously reserved (but not committed) by the same user
2024-01-05 15:38:45 -08:00
Chris Eager
f495ff483a
Update RemoveExpiredLinkedDevicesCommand to retry failures
2024-01-05 15:38:34 -08:00
Jonathan Klabunde Tomer
4e3b1509a8
Update to the latest version of the spam filter
2024-01-04 12:20:50 -08:00
Jonathan Klabunde Tomer
d1a80cc880
fix build-breaking typo
2024-01-04 11:46:07 -08:00
Jonathan Klabunde Tomer
e1ad25cee0
Group Send Credential support in chat
2024-01-04 11:38:57 -08:00
Chris Eager
195f23c347
Add /v1/accounts and /v2/keys to the WebSocket
2024-01-02 15:51:57 -06:00
Chris Eager
ad6b99be6a
Dispatch client presence operations after device deletion to a dedicated executor
2023-12-22 10:51:17 -06:00
Chris Eager
b9dd9fc47d
Reduce fan-out by processing a single stream of expired linked devices
2023-12-22 10:51:06 -06:00
Ravi Khadiwala
19a8a80a30
Update to the latest version of the spam filter
2023-12-21 16:29:54 -06:00
Chris Eager
637792c6d4
Move RemoveExpiredLinkedDevicesCommand error handling for more accurate metrics
2023-12-21 16:06:41 -06:00
Jon Chambers
4d1bca2d97
Dispatch client presence operations after account deletion to a dedicated executor
2023-12-21 13:40:49 -05:00
Chris Eager
f33a2eba50
Add buffer + shuffle and configurable concurrency to RemoveExpiredLinkedDevicesCommand
2023-12-21 11:14:02 -06:00
Jon Chambers
5d6bea5ec9
Clear Redis cache entries strictly after removing accounts from DynamoDB
2023-12-21 12:08:03 -05:00
Jon Chambers
057d1f07a8
Remove bulk "set repeated-use signed pre-keys" methods because they were only ever used for single devices
2023-12-21 12:07:42 -05:00
Ravi Khadiwala
25c3f55672
Update documentation/integration-tests actions to java 21
2023-12-20 16:41:16 -06:00
Ravi Khadiwala
c9d4091c1e
Update to the latest version of the spam filter
2023-12-20 16:38:20 -06:00
Ravi Khadiwala
1d55562dc3
Update to Java 21
2023-12-20 16:37:14 -06:00
Jon Chambers
95bb9a9780
Log signed pre-key retrieval errors and mismatches
2023-12-20 14:55:12 -05:00
Chris Eager
06c391cbf6
Add counter for failed account updates to RemoveExpiredLinkedDevicesCommand
2023-12-20 13:51:28 -06:00
Chris Eager
d90dff95b1
Move MeterRegistry#close calls to after the lifecycle has fully stopped
2023-12-20 13:51:16 -06:00
Ravi Khadiwala
c93972a322
Update to the latest version of the spam filter
2023-12-19 18:33:45 -06:00
Ravi Khadiwala
ca47a7b663
handle new RegistrationService proto error
2023-12-19 18:19:26 -06:00
Jonathan Klabunde Tomer
9d3d4a3698
Add phone-number-sharing field to versioned profile
...
Co-authored-by: Katherine <katherine@signal.org >
2023-12-19 11:20:04 -08:00
Chris Eager
3b509bf820
Add command to remove expired linked devices
2023-12-19 13:11:26 -06:00
Jon Chambers
5b7f91827a
Remove signed pre-keys transactionally when removing devices
2023-12-19 14:11:05 -05:00
Chris Eager
a44491714c
Update to the latest version of the spam filter
2023-12-18 14:55:39 -06:00
Chris Eager
06800043a9
Set TLS keystore password in secondary persistent services
2023-12-15 13:39:58 -06:00
Chris Eager
3090de56b8
Set TLS keystore password from secrets configuration
2023-12-15 12:47:27 -06:00
Katherine
a37acd1f42
Add ttl for braintree writes to onetime donation table
2023-12-15 13:37:35 -05:00
Jonathan Klabunde Tomer
372e3f83d2
Update libsignal to 0.37.0
2023-12-15 10:36:59 -08:00
Chris Eager
de260a2bef
Update to the latest version of the spam filter
2023-12-15 12:23:01 -06:00
Jonathan Klabunde Tomer
e9a130f976
add versioned zkconfig secrets to sample secrets bundle
2023-12-14 17:38:49 -08:00
Jonathan Klabunde Tomer
43f17414ff
Make key-setting methods asynchronous again
2023-12-14 16:49:16 -08:00
Jon Chambers
b259eea8ce
Refactor/clarify account creation/reclamation process
2023-12-14 16:48:57 -08:00
Katherine
9cfc2ba09a
Persist onetime donation payment success timestamps for Braintree transactions
2023-12-14 16:48:29 -08:00
Chris Eager
bb347999ce
Propagate another subscription processor error to clients
2023-12-14 15:40:08 -05:00
Katherine
3548c3df15
Calculate onetime badge expiration from payment success timestamp
2023-12-14 15:39:46 -05:00
Jon Chambers
1167d0ac2e
Make key-setting methods synchronous
2023-12-13 17:49:55 -05:00
Jon Chambers
f738bc97e7
Revert "Retire the "migrate signed pre-keys" command"
...
This reverts commit c7cc3002d5 .
2023-12-13 17:49:55 -05:00
Jon Chambers
3f9edfe597
Revert "Treat the stand-alone signed pre-keys table as the source of truth for signed pre-keys"
...
This reverts commit feb933b4df .
2023-12-13 17:49:55 -05:00
Jon Chambers
a024949311
Revert "Retire "migrate signed pre-keys" configuration"
...
This reverts commit 44145073f1 .
2023-12-13 17:49:55 -05:00
Jon Chambers
609c901867
Refactor key-fetching to be reactive
2023-12-13 12:46:48 -05:00
Jon Chambers
4ce060a963
Count wildcard "get keys" requests by platform
2023-12-13 12:46:48 -05:00
Jon Chambers
c4ca0fee40
Synchronize access to responseItems when assembling a "get keys" response
2023-12-13 12:46:48 -05:00
Chris Eager
8d4acf0330
Remove ForkJoinPool.managedBlock in favor of async updates
2023-12-13 10:18:04 -05:00
Jon Chambers
28a981f29f
Assume that all devices have signed pre-keys
2023-12-13 10:17:51 -05:00
Jon Chambers
c29113d17a
Reject requests with missing device capabilities
2023-12-12 11:37:44 -05:00
Katherine
951f978447
Use start of subscription period as fallback timestamp
2023-12-12 11:34:44 -05:00
Jon Chambers
07899f35bd
Return DeviceController#linkDevice to synchronous processing
2023-12-12 11:34:23 -05:00
Katherine
3cbbf37468
Use payment success timestamp to calculate recurring donation badge expiration
2023-12-12 10:01:20 -05:00
Jon Chambers
6c7a3df5ae
Retire non-atomic device-linking pathways
2023-12-12 09:53:51 -05:00
Jon Chambers
2054ab2771
Revert "Count requests with missing device capabilities"
...
This reverts commit 6cdf8ebd2c .
2023-12-12 09:53:51 -05:00
Jon Chambers
44145073f1
Retire "migrate signed pre-keys" configuration
2023-12-12 09:53:34 -05:00
Jon Chambers
feb933b4df
Treat the stand-alone signed pre-keys table as the source of truth for signed pre-keys
2023-12-11 11:39:54 -05:00
Jon Chambers
c7cc3002d5
Retire the "migrate signed pre-keys" command
2023-12-11 11:07:00 -05:00
xiaolou86
049b901d63
Fix typos
2023-12-09 10:04:12 -05:00
Jon Chambers
3cf1b92dfc
Do not set one-time pre-keys if the lists of new keys are empty
2023-12-08 14:03:08 -05:00
Jon Chambers
5b0fcbe854
Always expose sequential fluxes to account crawlers
2023-12-08 13:43:42 -05:00
Jon Chambers
cca747a1f6
Treat transaction conflicts during transactional account updates as contested optimistic locks
2023-12-08 12:13:23 -05:00
Jon Chambers
417d99a17e
Check story rate limits in parallel
2023-12-08 12:13:08 -05:00
Jon Chambers
e9708b9259
Use random UUIDs throughout MessageControllerTest
2023-12-08 12:13:08 -05:00
Jon Chambers
e5d3be16b0
Fetch destination accounts in parallel when sending multi-recipient messages
2023-12-08 12:13:08 -05:00
Jordan Rose
2ab3c97ee8
Replace MultiRecipientMessage parsing with libsignal's implementation
...
Co-authored-by: Jonathan Klabunde Tomer <jkt@signal.org >
2023-12-08 11:52:47 -05:00
Jon Chambers
f20d3043d6
Process key migrations sequentially to better control concurrency
2023-12-07 21:42:49 -05:00
Jonathan Klabunde Tomer
4efda89358
multisend cleanup
2023-12-07 12:23:02 -08:00
Jon Chambers
1fb88271e5
Invalidate cache entries for accounts after successfully adding devices
2023-12-07 13:27:26 -05:00
Jon Chambers
a843780f68
Add a (failing!) test for device-linking
2023-12-07 13:27:26 -05:00
Jon Chambers
5ad83da4e0
Remove the now-unused admin logger
2023-12-07 12:58:43 -05:00
Jon Chambers
949cc9e214
Update to the latest version of the spam filter
2023-12-07 12:58:23 -05:00
Jon Chambers
50d92265ea
Add devices to accounts transactionally
2023-12-07 11:19:40 -05:00
Chris Eager
e084a9f2b6
Remove PUT/DELETE methods from RemoteConfigController
2023-12-07 10:54:19 -05:00
Jon Chambers
664f9f36e1
Use padded base64 encoding for outbound device names
2023-12-07 10:53:56 -05:00
Jon Chambers
4c9efdb936
Revert "Revert "Represent device names as byte arrays""
...
This reverts commit 45848e7bfe .
2023-12-07 10:53:56 -05:00
Jon Chambers
45848e7bfe
Revert "Represent device names as byte arrays"
...
This reverts commit 5ae2e5281a .
2023-12-06 17:05:04 -05:00
Ravi Khadiwala
4fa10e5783
Fix NPE in request metrics when a finished request is missing a response
2023-12-06 15:11:41 -05:00
Ravi Khadiwala
fc0bc85f4d
Add some extra request validation to /v1/archives/keys
2023-12-06 15:11:27 -05:00
Jon Chambers
5ae2e5281a
Represent device names as byte arrays
2023-12-06 15:10:45 -05:00
Jon Chambers
34a943832a
Align push notification types and delivery priorities
2023-12-06 12:40:16 -05:00
Jon Chambers
db17693ba7
Revert "Temporarily make registration challenge notifications "noisy""
...
This reverts commit 9069c5abb6 .
2023-12-06 12:40:16 -05:00
Jon Chambers
6cdf8ebd2c
Count requests with missing device capabilities
2023-12-06 10:40:50 -05:00
Ravi Khadiwala
072b470f46
Be more specific about encodings in /v1/archive docs
2023-12-06 10:40:20 -05:00
Ravi Khadiwala
78b2df2ecc
Use long instead of int for epoch seconds
2023-12-06 10:40:06 -05:00
Jon Chambers
51a825f25c
Update to the latest version of the spam filter
2023-12-06 10:39:04 -05:00
Jon Chambers
00e72a30c9
Assume all accounts have primary devices
2023-12-06 10:28:19 -05:00
Ravi Khadiwala
69990c23a5
Avoid test dep in integration-test
2023-12-05 16:35:51 -06:00
Jon Chambers
df421e0182
Update signed pre-keys in transactions
2023-12-05 14:20:16 -05:00
Jon Chambers
ede9297139
Disallow identity key changes
2023-12-05 14:14:24 -05:00
Jon Chambers
85383fe581
Remove an unused "store keys" method
2023-12-05 14:14:24 -05:00
Jon Chambers
4cca7aa4bd
Normalize identity types throughout KeysController
2023-12-05 14:14:24 -05:00
Jon Chambers
e2037dea6c
Rename PreKeyState to SetKeysRequest
2023-12-05 14:14:24 -05:00
Jon Chambers
f10f772e94
Convert PreKeyState to a record
2023-12-05 14:14:24 -05:00
Jon Chambers
9ecfe15ac4
Use multiline strings for PreKeyState documentation
2023-12-05 14:14:24 -05:00
Jon Chambers
5f0726af8a
Perform cleanup operations before overwriting an existing account record
2023-12-05 12:18:09 -05:00
Ravi Khadiwala
331bbdd4e6
replace deprecated apache RandomUtils
2023-12-05 10:48:18 -06:00
Jon Chambers
37e3bcfc3e
Move "remove device" logic into AccountsManager
2023-12-05 11:44:58 -05:00
Jon Chambers
4f42c10d60
Disallow sync messages to PNIs
2023-12-05 11:44:27 -05:00
Jonathan Klabunde Tomer
20392a567b
Revert "multisend cleanup"
...
This reverts commit c03249b411 .
2023-12-01 14:39:31 -08:00
Jonathan Klabunde Tomer
c03249b411
multisend cleanup
2023-11-30 15:50:36 -08:00
gram-signal
22e6584402
Add auth controller for SVR3 to /v3/backup.
2023-11-30 15:50:21 -08:00
Chris Eager
c18aca9215
Update to the latest version of the spam filter
2023-11-29 16:08:31 -06:00
Jon Chambers
aa23a5422a
Don't modify registration IDs from the "set account attributes" endpoint
2023-11-29 16:56:47 -05:00
Jon Chambers
01fde4f9ca
Require PNI-associated registration IDs for new devices
2023-11-29 16:56:47 -05:00
Jon Chambers
3980dec123
Revert "Add metrics to check presence of PNI-associated registration IDs"
...
This reverts commit 1da3f96d10 .
2023-11-29 16:56:47 -05:00
Jon Chambers
c97f837f45
Revert "Instrument registration ID changes via the "set account attributes" endpoint"
...
This reverts commit 8fbc1dac74 .
2023-11-29 16:56:47 -05:00
Chris Eager
9c54d2407b
Update tests
2023-11-29 15:48:24 -06:00
Chris Eager
a027c4ce1f
Conditionally use request.remoteAddr instead of X-Forwarded-For
2023-11-29 15:48:24 -06:00
Chris Eager
b1fd025ea6
Use EpochSecondSerializer for UserRemoteConfigList.serverEpochTime
2023-11-29 15:47:10 -06:00
Jonathan Klabunde Tomer
a05a230085
use Account-specific json serializer when reserving username hash
2023-11-29 13:40:06 -08:00
Jon Chambers
8fbc1dac74
Instrument registration ID changes via the "set account attributes" endpoint
2023-11-29 10:26:41 -05:00
Katherine
f46842c6c9
Validate registration IDs
2023-11-28 15:43:35 -08:00
Ravi Khadiwala
8b95bb0c03
Only run integration tests if integration bucket is configured
2023-11-28 15:10:49 -06:00
ravi-signal
202dd8e92d
Add copy endpoint to ArchiveController
...
Co-authored-by: Jonathan Klabunde Tomer <125505367+jkt-signal@users.noreply.github.com >
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com >
2023-11-28 11:45:41 -06:00
Jon Chambers
1da3f96d10
Add metrics to check presence of PNI-associated registration IDs
2023-11-28 12:26:15 -05:00
Chris Eager
5f6fe4d670
Add NoneHealthResponder to replace default responder
2023-11-27 14:38:47 -06:00
Chris Eager
a74438d1ee
Add test for concurrent in-flight outbound messages on WebSocket queue processing
...
This also elevates the implicit default concurrency (via reactor’s `Queues.SMALL_BUFFER_SIZE`) to be explicit.
2023-11-27 14:37:46 -06:00
Jon Chambers
c8033f875d
Create accounts transactionally
2023-11-27 09:57:43 -05:00
Jon Chambers
07c04006df
Avoid blocking calls in async account updates
2023-11-27 09:57:43 -05:00
Jon Chambers
521900c048
Always require atomic account creation
2023-11-27 09:52:57 -05:00
Jon Chambers
9069c5abb6
Temporarily make registration challenge notifications "noisy"
2023-11-22 10:25:59 -05:00
Jon Chambers
ff7a5f471b
Always use "conserve power" priority for challenge notifications
2023-11-21 17:58:32 -05:00
Ravi Khadiwala
42a47406cc
Fix platform tag for push challenge metric
2023-11-21 17:57:32 -05:00
Katherine
de10b6de7b
Add metric to count invalid registration ID when setting account attributes
2023-11-20 14:25:27 -08:00
Chris Eager
d6ade0e1ac
Send HTTP 408 on idle timeout
2023-11-20 16:24:54 -06:00
Ravi Khadiwala
e04b5e5c9f
run integration-test job daily at 19:30 UTC
2023-11-20 15:31:45 -06:00
Ravi Khadiwala
15a6c46d47
use a configured number in integration test
2023-11-20 15:02:53 -06:00
Jonathan Klabunde Tomer
cb1fc734c2
report exceptions in fanned-out sends of multi-recipient messages
2023-11-20 10:46:26 -08:00
Katherine Yen
db7f18aae7
Add missing boolean parameter to getSubscriptionStatus method call
2023-11-16 19:28:10 -05:00
Katherine
7fbc327591
For Braintree, return active subscription status if latest transaction also succeeded
2023-11-16 19:15:46 -05:00
Chris Eager
84b56ae1b2
Upgrade to dropwizard 3.0
2023-11-16 17:57:48 -06:00
Katherine
041aa8639a
Enforce story ratelimit
2023-11-16 12:36:43 -05:00
Katherine
216ac72ad0
Use Braintree subscription status alongside transaction status to determine 204 and 402 responses for /v1/subscription/{subscriberId}/receipt_credentials
2023-11-16 12:36:19 -05:00
Jon Chambers
c85ddaeb9c
Make DynamoDB client connection pool sizes configurable
2023-11-16 12:29:43 -05:00
Jonathan Klabunde Tomer
e09dec330a
Update to the latest version of the spam filter
2023-11-15 17:34:57 -08:00
Jonathan Klabunde Tomer
8f7bae54fe
When persisting messages fails due to a full queue in DynamoDB, automatically unlink one device to free up room.
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com >
2023-11-15 17:15:17 -08:00
Jon Chambers
ce60f13320
Don't track IPv4/IPv6 metrics at the application level
...
We can measure this at the infrastructure level without observing IPs directly.
2023-11-15 17:18:54 -05:00
Jon Chambers
1ac0140666
Remove a couple of now-unused variables
2023-11-15 17:12:08 -05:00
Jon Chambers
6cc8b147a9
Remove unused X-Forwarded-For parameters
2023-11-15 17:09:47 -05:00
Jon Chambers
e078161e2f
Consistently use HttpHeaders.X_FORWARDED_FOR
2023-11-15 17:09:36 -05:00
Jonathan Klabunde Tomer
7764185c57
return explicit Response rather than Void from async controllers with no expected body content
2023-11-14 21:57:25 -08:00
Katherine
d4ef2adf0a
Remove low priority attempt login notification workaround for old iOS clients
2023-11-13 12:06:55 -05:00
Jonathan Klabunde Tomer
a83378a44e
add an option to replace username ciphertext without rotating the link handle
2023-11-13 09:01:54 -08:00
ravi-signal
a4a4204762
Allow re-registered accounts to reclaim their usernames
2023-11-13 10:41:23 -06:00
Jon Chambers
acd1140ef6
Make registration challenge APNs payloads "silent"
2023-11-13 08:39:58 -08:00
Jon Chambers
fbf71c93ff
Make rate limit challenge APNs payloads "silent"
2023-11-13 08:39:58 -08:00
Katherine
38bc0c466a
Change sepaMaximumEuros field to number in JSON response
2023-11-10 10:16:03 -08:00
Katherine
71e4351743
Add sepaMaximumEuros field to subscription configuration
2023-11-10 09:13:51 -08:00
Katherine
387e4b94b4
Expand charge object on Stripe subscription to surface charge failure information
2023-11-10 09:12:59 -08:00
Katherine
201c76b861
Add charge failure details to /v1/subscription/{subscriberId}/receipt_credentials 402 response
2023-11-08 10:54:14 -08:00
Chris Eager
1c3aa87ca6
Update to the latest version of the spam filter
2023-11-06 10:11:41 -06:00
Sergey Skrobotov
db63ff6b88
gRPC validations
2023-11-03 11:30:48 -07:00
Katherine
115431a486
Un-hardcode payment activation flag
2023-11-03 11:27:34 -07:00
Jonathan Klabunde Tomer
d47ff9b7c7
don't make empty transactions
2023-11-02 16:20:19 -07:00
Chris Eager
b0818148cf
Update to the latest version of the spam filter
2023-11-02 11:48:50 -05:00
Chris Eager
2bc4412d66
Encapsulate device ID in ProvisioningAddress
2023-11-02 11:48:10 -05:00
Chris Eager
6a428b4da9
Convert Device.id from long to byte
2023-11-02 11:48:10 -05:00
Jonathan Klabunde Tomer
7299067829
Don't attempt to update PNI PQ prekeys for disabled devices
2023-11-01 16:55:55 -07:00
Chris Eager
5659cb2820
Update to the latest version of the spam filter
2023-11-01 15:53:26 -05:00
Chris Eager
570aa4b9e2
Remove several unused classes
2023-11-01 15:46:10 -05:00
Chris Eager
c4079a3b11
Update to the latest version of the spam filter
2023-11-01 10:07:42 -05:00
Ravi Khadiwala
6b38b538f1
Add ArchiveController
...
Adds endpoints for creating and managing backup objects with ZK
anonymous credentials.
2023-10-30 14:02:19 -05:00
Chris Eager
ba139dddd8
Use all devices when checking limit
2023-10-30 12:40:06 -05:00
Chris Eager
38b581a231
Update to the latest version of the spam filter
2023-10-27 10:22:50 -05:00
Chris Eager
3c2675b41a
Update libphonenumber to 8.13.23
2023-10-27 09:26:40 -05:00
Chris Eager
0f5c62ade5
Set max threads = min threads on command executor services
2023-10-27 09:26:32 -05:00
Jon Chambers
54bc3bce96
Add an authentication-required gRPC service for working with accounts
2023-10-25 14:47:20 -04:00
Jon Chambers
3d92e5b8a9
Explicitly stop and start managed dependencies
2023-10-24 16:50:02 -04:00
Chris Eager
325d145ac3
Update to the latest version of the spam filter
2023-10-24 14:33:31 -05:00
Chris Eager
b0654a416a
Update maven plugins
2023-10-24 14:32:55 -05:00
Chris Eager
19930ec2e4
Update dependencies
...
- AWS: 2.20.130 → 2.21.5
- Braintree: 3.25.0 → 3.27.0
- commons-csv: 2.13.0 → 2.14.0
- dropwizard: 2.1.7 → 2.1.9
- Google libraries BOM: 26.22.0 → 26.25.0
- grpc: 1.56.1 → 1.58.0
- kotlin: 1.9.0 → 1.9.10
- protobuf: 3.23.2 → 3.24.3
- stripe: 23.1.1 → 23.10.0
- junit-pioneer: 2.0.1 → 2.1.0
- firebase-admin: 9.1.1 → 9.2.0
- swagger-jaxrs2: 2.2.8 → 2.2.17
- java-uuid-generator: 4.2.0 → 4.3.0
- log4j: 2.17.0 → 2.21.0
- reactor-bom: 2022.0.10 → 2022.0.12
2023-10-24 14:32:55 -05:00
Jon Chambers
e4de6bf4a7
Only update devices that aren't already disabled
2023-10-24 15:29:03 -04:00
Jon Chambers
21125c2f5a
Update to the latest version of the spam filter
2023-10-20 16:38:04 -04:00
Katherine Yen
6f166425fe
Fix bank mandate test
2023-10-20 16:19:31 -04:00
Chris Eager
cf2353bcf9
Remove InstrumentedExecutorService wrapping
2023-10-20 15:14:35 -05:00
Jon Chambers
744eb58071
Discard old chunk-based account crawler machinery
2023-10-20 16:09:17 -04:00
Jon Chambers
9d47a6f41f
Introduce a reactive push notification feedback processor
2023-10-20 16:09:17 -04:00
Jonathan Klabunde Tomer
4f4c23b12f
Update to the latest version of the spam filter
2023-10-20 09:39:46 -07:00
Jonathan Klabunde Tomer
fb02815c27
Update to the latest version of the spam filter
2023-10-20 09:12:37 -07:00
Jonathan Klabunde Tomer
fd19299ae0
Accept a captcha score threshold for challenges from the spam filter
2023-10-20 09:09:22 -07:00
Jon Chambers
9c053e20da
Drop Util#isEmpty/Util#nonEmpty in favor of StringUtils
2023-10-20 12:04:15 -04:00
Jon Chambers
19d7b5c65d
Drop Util#wait
2023-10-20 12:04:15 -04:00
Jon Chambers
7b9d8829da
Remove entirely unused Util methods
2023-10-20 12:04:15 -04:00
Jon Chambers
3505ac498c
Update to the latest version of the spam filter
2023-10-20 10:52:43 -04:00
Jon Chambers
f0ab52eb5d
Rename "master device" to "primary device"
2023-10-20 10:52:13 -04:00
Jon Chambers
e8cebad27e
Avoid modifying original Account instances when constructing JSON for updates
2023-10-20 10:51:50 -04:00
Jon Chambers
6441d5838d
Clear username links in the same transaction when clearing username hashes
2023-10-20 10:51:50 -04:00
Jon Chambers
ac0c8b1e9a
Introduce a canonical constant for UAK length
2023-10-20 10:50:44 -04:00
Katherine
8ec062fbef
Define an endpoint to set the default payment method for iDEAL subscriptions
2023-10-19 10:29:40 -07:00
Katherine
5990a100db
Add charge failure details to /v1/subscription/boost/receipt_credential 402 response
2023-10-19 10:21:26 -07:00
Jon Chambers
bc35278684
Drop the old AccountCleaner
2023-10-19 10:34:24 -04:00
Jon Chambers
c3c7329ebb
Add a single-shot command for removing expired accounts
2023-10-19 10:34:24 -04:00
Jon Chambers
6fd1c84126
Make command namespace available to subclasses
2023-10-19 10:34:24 -04:00
Jon Chambers
0100f0fcc9
Migrate a username links test from AccountsTest to AccountsManagerUsernameIntegrationTest
2023-10-18 10:20:48 -04:00
Jon Chambers
0cdc32cf65
Really REALLY fix instrumentation for re-registration of recently-deleted accounts
2023-10-18 10:15:03 -04:00
Jon Chambers
601e9eebbd
Implement an anonymous account service for looking up accounts
2023-10-18 10:14:52 -04:00
Jon Chambers
eaa868cf06
Add a remote address interceptor to base gRPC tests
2023-10-18 10:14:52 -04:00
Jon Chambers
f55504c665
Add utility methods for rate-limiting by remote address
2023-10-18 10:14:52 -04:00
Katherine Yen
b2ff016cc1
Add back story ratelimiter with counter but do not enforce
2023-10-17 12:22:17 -04:00
Jon Chambers
33b4f17945
Make username-related operations asynchronous
2023-10-17 12:21:52 -04:00
Jon Chambers
e310a3560b
Remove unused configuration for the legacy Secure Backup Service
2023-10-17 12:21:14 -04:00
Jon Chambers
162b27323e
Fix instrumentation for re-registration of recently-deleted accounts
2023-10-17 12:20:58 -04:00
Jon Chambers
ae976ef8d6
Retire legacy Secure Value Recovery plumbing
2023-10-13 15:32:41 -04:00
Katherine
c6b4e2b71d
Support iDEAL
2023-10-12 09:54:05 -07:00
Jon Chambers
33c8bbd0ce
Trim stale capabilities from the profiles gRPC service
2023-10-12 12:52:32 -04:00
Jon Chambers
f2a3b8dba4
Treat APNs team/key IDs as secrets so they can change atomically with the key itself
2023-10-12 12:52:13 -04:00
Katherine
207ae6129b
Add paymentMethod and paymentProcessing fields to GET /v1/subscription/{subscriberId} endpoint
2023-10-10 09:56:50 -07:00
Katherine
e1aa734c40
Define endpoint to get localized bank mandate text
2023-10-05 09:53:33 -07:00
Jonathan Klabunde Tomer
9b1b03bbfa
Update to the latest version of the spam filter
2023-10-05 09:46:27 -07:00
Jon Chambers
bb7e0528c4
Make account deletion an asynchronous operation
2023-10-04 10:44:50 -04:00
Jonathan Klabunde Tomer
010eadcd10
UnlinkDeviceCommand improvements
2023-10-03 15:14:02 -07:00
Katherine
c43e0b54f2
Exclude SEPA_DEBIT as a supported payment method for certain iOS client versions
2023-10-03 11:34:52 -07:00
Chris Eager
6522b74e20
Remove obsolete metrics
2023-10-03 11:42:25 -05:00
Chris Eager
8c7975d89a
Clear presence only if the connection’s displacement listener is still present
2023-10-03 11:42:25 -05:00
Chris Eager
407070c9fc
Unsubscribe from keyspace notifications only if queue still maps to the listener
2023-10-03 11:42:25 -05:00
Katherine
7821a3cd61
Accommodate PayPal with SEPA changes
2023-09-28 10:28:17 -07:00
Katherine
a00c2fcfdb
Support SEPA
2023-09-28 08:26:01 -07:00
Jonathan Klabunde Tomer
9cd21d1326
count ItemCollectionSizeLimitExceededExceptions persisting messages
2023-09-27 10:58:28 -07:00
Jonathan Klabunde Tomer
aaba95f9b8
return null for empty username hash in AccountIdentityResponse
2023-09-27 10:58:04 -07:00
Chris Eager
8d1135a2a3
Refine RegistrationController logic
...
Local device transfer on iOS uses the `409` status code to prompt the
transfer UI. This needs to happen before sending a `423` and locking
an existing account, since the device transfer
includes the local device database verbatim.
2023-09-25 15:54:31 -05:00
Jon Chambers
f9fabbedce
Convert SubscriptionController request/response entities to records
2023-09-25 12:32:49 -07:00
Chris Eager
16012e6ffe
Remove obsolete ManagedPeriodicWork
2023-09-25 12:15:17 -07:00
Jon Chambers
d10a132b0c
Remove unused methods in SubscriptionController
2023-09-25 12:14:56 -07:00
Sergey Skrobotov
0b3af7d824
gRPC API for external services credentials service
2023-09-25 12:14:49 -07:00
Sergey Skrobotov
d0fdae3df7
Enable header-based auth for WebSocket connections
2023-09-25 12:14:40 -07:00
Ravi Khadiwala
a263611746
editorconfig: keep_simple_classes_in_one_line
2023-09-25 10:10:44 -05:00
Chris Eager
0e989419c6
Add metric for late removal of message availability and displacement listeners
2023-09-19 12:04:24 -05:00
ravi-signal
0fa8276d2d
retry hCaptcha errors
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com >
2023-09-14 16:07:35 -05:00
Ravi Khadiwala
b594986241
Set an idle timeout on registration gRPC client
2023-09-14 16:06:49 -05:00
Sergey Skrobotov
9f3ffa3707
gRPC API for payments service
2023-09-14 11:12:00 -07:00
Jonathan Klabunde Tomer
8e598c19dc
don't attempt to update KEM prekeys if we have no PQ-enabled devices
2023-09-14 11:11:22 -07:00
Katherine
2601d6e906
Convert some fields on CreateProfileRequest and VersionedProfileResponse to byte arrays
2023-09-13 14:00:03 -07:00
Jon Chambers
de41088051
Update to WireMock 2.35.1
2023-09-13 16:56:15 -04:00
Jon Chambers
f2752b2a02
Update to the latest version of the spam filter
2023-09-13 16:02:46 -04:00
Jon Chambers
f0544fab89
Update recently-deleted accounts table transactionally as part of account mutations
2023-09-13 16:02:19 -04:00
Jon Chambers
1b9bf01ab1
Absorb DeletedAccounts into Accounts
2023-09-13 16:02:19 -04:00
Ravi Khadiwala
9945367fa1
Update to the latest version of the spam filter
2023-09-11 15:19:10 -05:00
Katherine
cbc3887226
Define identity key check endpoint in keys anonymous service
2023-09-11 11:57:00 -07:00
Ravi Khadiwala
c11b74e9c0
Update to the latest version of the spam filter
2023-09-11 13:37:07 -05:00
Jon Chambers
2b764c2abd
Don't allow callers to unlink their primary device
2023-09-11 14:29:48 -04:00
Jon Chambers
845fc338d7
Add a (failing) test for removing primary devices from accounts
2023-09-11 14:29:48 -04:00
Sergey Skrobotov
977243ebfd
DRY gRPC tests, refactor error mapping
2023-09-08 17:12:08 -07:00
Chris Eager
29ca544c95
Revert "Set suppressCancel=true in Mono.fromFuture"
...
This reverts commit 8348263fab .
2023-09-07 17:03:33 -05:00
Ravi Khadiwala
94b41d3a2c
Fixup default rate limits
...
A previous refactor left the default rate limits off by a factor of 60.
2023-09-07 16:07:42 -05:00
Chris Eager
92bb783cbb
Use static exception instance when a connection is closed
2023-09-07 16:06:16 -05:00
Chris Eager
8348263fab
Set suppressCancel=true in Mono.fromFuture
2023-09-07 16:06:03 -05:00
Ravi Khadiwala
48f633de11
Fix type for comparison in integration test
2023-09-07 14:41:29 -05:00
Ravi Khadiwala
b3b9a629f3
Update to the latest version of the spam filter
2023-09-07 11:18:48 -05:00
Ravi Khadiwala
5934b7344a
Remove unused captcha configuration
2023-09-07 11:16:32 -05:00
Chris Eager
a9a2e40fed
Move onErrorResume to individual sendMessage Mono
2023-09-07 11:15:57 -05:00
Chris Eager
656326355a
Invert String.equals() to prevent NullPointerException
2023-09-07 11:14:36 -05:00
Chris Eager
b89e2e5355
Propagate certain subscription processor errors to client responses
2023-09-06 15:57:14 -05:00
Chris Eager
2d187abf13
Handle WebSocket sendMessage errors with onErrorResume
2023-09-06 15:53:01 -05:00
Chris Eager
b701412295
Update maven-wrapper.properties
2023-09-06 15:48:27 -05:00
Jonathan Klabunde Tomer
b4dad81220
Update to the latest version of the spam filter
2023-09-05 13:55:07 -07:00
Jonathan Klabunde Tomer
6bccdad998
Update to the latest version of the spam filter
2023-09-05 10:23:39 -07:00
Chris Eager
ecd6b0174a
Add timeouts to crawl chunk join()s
2023-08-31 15:03:19 -05:00
Chris Eager
a1e534a515
Add default request timeout to FaultTolerantHttpClient
2023-08-31 15:03:19 -05:00
Sergey Skrobotov
ebbe19ba63
Add missing copyright headers and reorder some imports
2023-08-30 16:07:53 -07:00
Katherine Yen
6a37b73463
Profile gRPC: Define getExpiringProfileKeyCredential endpoint
2023-08-30 14:56:43 -07:00
Katherine Yen
dd18fcaea2
Profile gRPC: Define getVersionedProfile endpoint
2023-08-30 14:47:11 -07:00
Katherine Yen
5afc058f90
Profile gRPC: Define getUnversionedProfile endpoint
2023-08-30 14:24:43 -07:00
Jon Chambers
5e221fa9a3
Tests for validation of Kyber keys on PNI change/key distribution events
...
Co-authored-by: Jonathan Klabunde Tomer <jkt@signal.org >
2023-08-30 14:07:33 -07:00
Jon Chambers
0e0cb4d422
Drop the non-normalized account crawler
2023-08-30 13:55:41 -04:00
Jonathan Klabunde Tomer
09f6d60ae9
Update to the latest version of the spam filter
2023-08-29 15:52:42 -07:00
Jonathan Klabunde Tomer
9577d552c6
pass challenge type to rate limit reset listeners
2023-08-29 15:19:49 -07:00
Chris Eager
093f17dce2
Update to stripe-java 23.1.1
2023-08-29 15:18:16 -07:00
Jon Chambers
6089f49b9c
Add a gRPC interceptor for getting client addresses
2023-08-29 15:18:06 -07:00
Sergey Skrobotov
cfb910e87e
Adding copyright headers to proto files
2023-08-28 14:39:33 -07:00
Ravi Khadiwala
376cffc61d
Update to the latest version of the spam filter
2023-08-25 16:49:05 -05:00
Chris Eager
d338ba5152
Convert some KeysController methods return CompletableFutures
2023-08-24 11:59:28 -05:00
Chris Eager
f181397664
Add test for round-trip AccountsManager JSON serialization
2023-08-24 11:18:01 -05:00
Chris Eager
708f23a2ee
Remove deprecated identity key and signed pre-key methods
2023-08-24 11:18:01 -05:00
Chris Eager
2d1a979eba
Update libphonenumber to 8.13.19
2023-08-24 11:07:18 -05:00
Chris Eager
ee0be92967
Update to the latest version of the spam filter
2023-08-24 11:06:30 -05:00
Chris Eager
7536b75508
Remove unused test fixtures
2023-08-24 11:06:11 -05:00
Jonathan Klabunde Tomer
7237ae6c54
check that pq last-resort prekeys, if submitted, match device list
2023-08-24 09:04:29 -07:00
Sergey Skrobotov
ca05753a3e
adding 400 response documentation to the API call
2023-08-23 13:20:07 -07:00
Chris Eager
9ca8503eac
Downgrade to stripe-java 22.30.0
2023-08-22 16:31:46 -05:00
Jon Chambers
754f71ce00
Add a gRPC service for working with devices
2023-08-22 16:31:02 -05:00
Jon Chambers
619b05e56c
Add utility a method for requiring authentication with the account's primary device
2023-08-22 16:31:02 -05:00
Jon Chambers
8b13826949
Convert DeviceInfo and DeviceInfoList to a record
2023-08-22 16:31:02 -05:00
Jon Chambers
a96ee57c7e
Defer asynchronous actions when deriving Mono instances from futures
2023-08-22 16:28:02 -05:00
Jon Chambers
ff1ef90a6d
Defer actions taken after rate limit checks
2023-08-22 16:28:02 -05:00
Chris Eager
22905fa8ee
Downgrade logstash-logback-encoder to 7.3
2023-08-21 12:44:02 -05:00
Chris Eager
9e218ddd1c
Update to the latest version of the spam filter
2023-08-21 11:42:11 -05:00
Chris Eager
6f0462622b
Update maven and various plugins
2023-08-21 11:34:08 -05:00
Chris Eager
2f17161163
Update various dependencies
2023-08-21 11:34:08 -05:00
Ravi Khadiwala
17d48b95ac
keep lettuce metrics; strip remote tags
2023-08-18 16:28:19 -05:00
Chris Eager
eeea97e2fe
Return a single OAuth2 credentials JSON
2023-08-18 16:16:31 -05:00
Chris Eager
360e101660
Update to the latest version of the spam filter
2023-08-18 16:13:30 -05:00
Jon Chambers
3501a944a3
Update to the latest version of the spam filter
2023-08-18 11:49:11 -04:00
Jon Chambers
76305190a2
Temporarily restore explicit service/version/environment/host tags
2023-08-17 18:30:59 -04:00
Jon Chambers
ab83990170
Send latency metrics as distributions
2023-08-17 17:10:16 -04:00
Jon Chambers
8103a22026
Submit Micrometer metrics via dogstatsd instead of the Datadog API
2023-08-17 17:01:36 -04:00
Jonathan Klabunde Tomer
1f8e4713ef
limit concurrency of async DynamoDB ops
2023-08-17 13:56:09 -07:00
Katherine Yen
ff9fe2c1be
Remove record equality test
2023-08-17 13:55:27 -07:00
Jon Chambers
7f37c8ee5e
Retire now-unused HTTP transport configuration for Datadog metric reporter
2023-08-17 16:53:53 -04:00
Jon Chambers
ed0a723fef
Include underlying exceptions when logging failures to write exit files
2023-08-17 12:32:45 -04:00
Jon Chambers
5c31ef43c9
Send an HTTP/440 response instead of an HTTP/502 if an upstream provider rejects a "send verification code" request
2023-08-17 12:15:00 -04:00
Katherine Yen
43fd8518c0
Add missing java.util.Base64 import to ProfileController
2023-08-16 14:02:53 -07:00
Katherine Yen
19a08f01e8
Write certain profile data as bytes instead of strings to dynamo and represent those fields as byte arrays on VersionedProfile
2023-08-16 13:45:16 -07:00
Jonathan Klabunde Tomer
33498cf147
Update to the latest version of the spam filter
2023-08-16 10:19:00 -07:00
Jon Chambers
beeb85cf8d
Update to the latest version of the spam filter
2023-08-15 14:21:00 -04:00
Jon Chambers
ccd860207b
Make MessagesManager#clear asynchronous
2023-08-15 14:08:16 -04:00
Jon Chambers
2c835b5c51
Make message deletion from DynamoDB asynchronous
2023-08-15 14:08:16 -04:00
Jon Chambers
5caa951c61
Make MessagesCache#clear methods asynchronous
2023-08-15 14:08:16 -04:00
Jon Chambers
4d8c4d6693
Also delete APNs VOIP tokens when clearing APNs tokens
2023-08-15 14:08:00 -04:00
Jon Chambers
a9d0574ea8
Remove most @Timed annotations
2023-08-15 14:06:31 -04:00
Jonathan Klabunde Tomer
3954494eae
Update to the latest version of the spam filter
2023-08-11 15:11:58 -07:00
Ravi Khadiwala
ed6a2c55eb
adjust lettuce metric denial for post-transform name
2023-08-11 09:43:41 -05:00
Ravi Khadiwala
b6ee074149
fix captcha shortening url path resolution
2023-08-10 16:01:56 -05:00
Ravi Khadiwala
f6b3500e92
remove most high cardinality lettuce metrics
2023-08-10 16:01:16 -05:00
Katherine Yen
a71dc48b9b
Prepare to read profile data stored as byte arrays
2023-08-10 14:00:35 -07:00
Katherine Yen
bc5eed48c3
Add authentication interceptor to profile gRPC service
2023-08-10 13:59:46 -07:00
Jon Chambers
2ecf3cb303
Revert "Don't immediately require PNI-associated keys for "atomic" device linking"
...
This reverts commit 4ec97cf006 .
2023-08-10 16:59:35 -04:00
Jon Chambers
bed33d042a
Revert "Require PNI-associated keys if the target account has a PNI identity key"
...
This reverts commit 1dde612855 .
2023-08-10 16:59:35 -04:00
Jonathan Klabunde Tomer
d7975626be
Update to the latest version of the spam filter
2023-08-10 09:58:26 -07:00
Ravi Khadiwala
3ac7aba6b2
Add a captcha short-code expander
2023-08-09 12:41:31 -05:00
Jon Chambers
1dde612855
Require PNI-associated keys if the target account has a PNI identity key
2023-08-09 12:10:56 -04:00
Jon Chambers
4ec97cf006
Don't immediately require PNI-associated keys for "atomic" device linking
2023-08-09 12:10:56 -04:00
Jon Chambers
d51c6fd2f8
Convert Device.Capabilities to a record
2023-08-08 15:38:37 -04:00
Jon Chambers
d868e3075c
Retire fully-adopted device capabilities
2023-08-08 15:38:37 -04:00
Jon Chambers
ae61ee5486
Retire AnalyzeDeviceCapabilitiesCommand
2023-08-08 15:38:37 -04:00
Katherine Yen
58fd9ddb27
Count profile data that cannot be parsed as base64
2023-08-08 10:54:25 -07:00
Katherine Yen
a953cb33b7
Define ProfileController protobufs and setProfile endpoint
2023-08-08 10:53:11 -07:00
Jon Chambers
95b90e7c5a
Add a preliminary gRPC service for dealing with calling credentials
2023-08-08 12:46:55 -04:00
Jon Chambers
6a3ecb2881
Convert TurnToken to a record
2023-08-08 12:46:55 -04:00
Jon Chambers
6cf4241283
Add a reactive method for checking rate limits by UUID
2023-08-08 12:46:55 -04:00
Jon Chambers
42141e51a1
Use ACIs instead of E164s for TURN URI overrides
2023-08-08 12:46:55 -04:00
Jon Chambers
b01945ff50
Clarify parameterized tests by modifying prototype request objects; remove spurious warning suppressions
2023-08-08 10:33:29 -04:00
Jon Chambers
a131f2116f
Retire verification code storage machinery
2023-08-04 17:26:55 -04:00
Jon Chambers
625637b888
Stop checking for stored verification codes when linking devices
2023-08-04 17:26:55 -04:00
Jon Chambers
c873f62025
Produce verification tokens instead of stored verification codes for linking devices
2023-08-04 16:04:47 -04:00
Jon Chambers
43d91e5bd6
Convert VerificationCode to a record
2023-08-04 16:04:47 -04:00
Jon Chambers
5c4c729703
Disallow reuse of device verification tokens
2023-08-04 13:40:37 -05:00
Jon Chambers
308da3343d
Accept signed tokens in addition to randomly-generated codes for authorizing device linking
2023-08-04 13:40:37 -05:00
Chris Eager
48c7572dd5
Add CommandStopListener
2023-08-04 13:29:35 -05:00
Ravi Khadiwala
dc5f35460b
Update to the latest version of the spam filter
2023-08-04 11:38:33 -05:00
Jon Chambers
69ea9b0296
Add a request counter tagged by client version
2023-08-04 12:16:48 -04:00
Jon Chambers
969c6884c0
Add a command for analyzing device capabilities
2023-08-04 12:14:08 -04:00
Jon Chambers
fcf311aab3
Retire the PendingAccounts table
2023-08-04 12:13:57 -04:00
ravi-signal
888879dfb2
Estimate message byte limit exceeded error count
2023-08-04 11:10:58 -05:00
Chris Eager
e003197f77
Update to protobuf-java 3.23.3
2023-08-03 17:09:31 -05:00
Chris Eager
f57910cd97
Update to dropwizard 2.1.7, jackson 2.13.5
2023-08-03 16:18:27 -05:00
Chris Eager
d85e25dba0
Update to the latest version of the spam filter
2023-08-02 16:17:22 -05:00
Chris Eager
89a4034fc6
Remove s3-upload from deploy phase
2023-08-02 16:16:27 -05:00
Chris Eager
f53743d287
Add configuration for Datadog UDP transport
2023-08-02 13:54:15 -05:00
Jon Chambers
2d132128e1
Switched to a composed request object model for anonymous keys gRPC operations
2023-07-28 14:20:24 -05:00
Chris Eager
6e5ffbe7b5
Restore aci field to BatchIdentityCheckRequest
2023-07-28 14:16:48 -05:00
Jonathan Klabunde Tomer
a81c9681a0
Update to the latest version of the spam filter
2023-07-26 14:57:18 -07:00
Ravi Khadiwala
baf98accd0
acquire lock before checking message listeners in MessagesCache
2023-07-26 16:45:53 -04:00
Ravi Khadiwala
901c950ee6
Add metrics to keyspace-notifier executor
2023-07-26 16:45:53 -04:00
Ravi Khadiwala
50ac7f9dc2
adjust messageDeletionAsyncExecutor core pool size
2023-07-26 16:45:41 -04:00
Jon Chambers
c2ea4a5290
Update to the latest version of the spam filter
2023-07-26 16:45:13 -04:00
Jon Chambers
b691b8d37d
Log successful client version refreshes
2023-07-26 16:41:54 -04:00
Jon Chambers
4ead8527c8
Use ClientReleasesManager when deciding whether to add client version tags
2023-07-26 16:41:54 -04:00
Jon Chambers
6f4801fd6f
Add a manager class for checking "liveness" of client versions
2023-07-26 16:41:54 -04:00
Jon Chambers
10689843b0
Add a repository for client release information
2023-07-26 16:41:54 -04:00
Chris Eager
60cc0c482e
Add @Produces to PUT /v1/accounts/apn
2023-07-26 16:35:23 -04:00
Jon Chambers
e1a5105c28
Revert "Restore max concurrency when migrating pre-keys"
...
This reverts commit ed8a1ed579 .
2023-07-26 12:56:35 -04:00
Jon Chambers
ed8a1ed579
Restore max concurrency when migrating pre-keys
2023-07-26 12:34:32 -04:00
Jon Chambers
c3fd2e2284
Retry key storage attempts when migrating signed pre-keys
2023-07-26 12:34:32 -04:00
Chris Eager
872ef5d0a0
Add environment variable to toggle tcp appender
2023-07-24 13:13:13 -05:00
Chris Eager
b44599cd59
Remove unused jedis library
2023-07-24 10:54:34 -04:00
Jordan Rose
7a5dcc700e
Add support for AuthCredentialAsPni with pniAsServiceId=true
...
Update to libsignal 0.30.0, and add a new query param to
/v1/certificate/auth/group, "pniAsServiceId=true", that uses the new
encoding of PNIs in zkgroup rather than encoding PNIs the same way as
ACIs, as we have been doing.
Also includes all the adjustments for the libsignal 0.30.0 update.
2023-07-24 10:53:59 -04:00
ravi-signal
705fb93e45
Add v4 attachment controller
...
Add AttachmentControllerV4 which can be configured to generate upload
forms for a TUS based CDN
2023-07-21 12:09:45 -05:00
Jon Chambers
9df923d916
Update keys gRPC endpoint to use service identifiers
2023-07-21 13:03:01 -04:00
Chris Eager
dc1cb9093a
Remove unused code
2023-07-21 11:08:32 -05:00
Jon Chambers
e32043ae79
Remove outdated documentation
2023-07-21 10:24:17 -04:00
Jon Chambers
881c921d56
Update to the latest version of the spam filter
2023-07-21 09:44:53 -04:00
Jon Chambers
abb32bd919
Introduce "service identifiers"
2023-07-21 09:34:10 -04:00
Katherine Yen
4a6c7152cf
Update to the latest version of the spam filter
2023-07-20 14:37:12 -07:00
Sergey Skrobotov
cf92007f66
Moving Account serialization logic to storage-specific classes
2023-07-20 14:28:07 -07:00
Jon Chambers
f5c57e5741
Make ContestedOptimisticLockException extend NoStackTraceRuntimeException
2023-07-20 11:15:08 -04:00
Jon Chambers
5627209fdd
Add a gRPC service for working with pre-keys
2023-07-20 11:10:26 -04:00
Jonathan Klabunde Tomer
0188d314ce
minor username api refinements
2023-07-19 15:12:47 -07:00
Jonathan Klabunde Tomer
67343f6bdc
accept encrypted username with confirm-username-hash requests
2023-07-19 10:54:11 -07:00
Katherine Yen
ade2e9c6cf
Define asynchronous ProfilesManager operations
2023-07-19 10:43:58 -07:00
Sergey Skrobotov
352e1b2249
test classes moved to same packages with components they test
2023-07-17 13:34:58 -07:00
Jon Chambers
b8d8d349f4
Control inbound message byte limits with a dynamic configuration flag
2023-07-14 16:25:33 -04:00
Jon Chambers
e87468fbe0
Add a rate limit for inbound message bytes for a given account
2023-07-14 16:25:33 -04:00
Jon Chambers
e38a713ccc
Support sub-millisecond permit regeneration durations in rate limiters
2023-07-14 16:25:33 -04:00
Jon Chambers
82ed783a2d
Introduce async account updaters
2023-07-14 16:25:19 -04:00
Jon Chambers
d17c7aaba6
Add support for clearing accounts from Redis asynchronously
2023-07-14 16:25:19 -04:00
Katherine Yen
8c93368b20
Update to the latest version of the spam filter
2023-07-13 12:43:07 -07:00
Jon Chambers
41f61c66a3
Add public methods for fetching accounts asynchronously
2023-07-13 13:53:29 -04:00
Jon Chambers
1b7a20619e
Add tools for testing asynchronous Redis operations
2023-07-13 13:53:29 -04:00
Jon Chambers
7d19e58953
Add parallel pathways for getting accounts asyncronously to Accounts
2023-07-13 13:53:29 -04:00
Jon Chambers
1605676509
Store signed EC pre-keys in a dedicated table when setting signed pre-keys individually
2023-07-12 14:58:10 -04:00
Jon Chambers
a0d6146ff5
Make key deletion operations asynchronous
2023-07-12 14:58:10 -04:00
Jon Chambers
f709b00be3
Make KeysManager storage/retrieval operations asynchronous
2023-07-12 14:58:10 -04:00
Jonathan Klabunde Tomer
5847300290
Revert "Allow use of the token returned with spam challenges as auth for the challenge verification request"
2023-07-12 11:45:02 -07:00
Jonathan Klabunde Tomer
9aaac0eefd
don't require all devices to support PNI for PNIHW
2023-07-12 10:14:16 -07:00
Jon Chambers
c5ae9913fe
Update to the latest version of the spam filter
2023-07-11 13:48:07 -04:00
Jon Chambers
fc2ad20c63
Update to the latest version of the spam filter
2023-07-11 13:36:12 -04:00
Jon Chambers
6db97f5541
Standardize client tag version handling; add client version tags to delivery latency metrics
2023-07-11 13:35:29 -04:00
Jon Chambers
adf6c751ee
Use an explicit-allow model for tagging client versions in metrics
2023-07-11 13:35:29 -04:00
Jon Chambers
c315b34395
Update formatting in UserAgentTagUtil
2023-07-11 13:35:29 -04:00
Jon Chambers
f592201e4c
Limit attachment controller tags to UA platform (instead of platform and version)
2023-07-11 13:35:29 -04:00
Jon Chambers
8bf5ee45ed
Filter out command tags from Lettuce metrics and prepend a "chat." prefix to Lettuce metric names
2023-07-11 13:35:03 -04:00
Jon Chambers
25f759dd07
Drop ActiveUserTally
2023-07-11 13:34:36 -04:00
Jonathan Klabunde Tomer
e5f4c17148
update openapi docs for several endpoints, notably those with PQXDH changes
...
Co-authored-by: Katherine Yen <katherine@signal.org >
2023-07-06 15:45:33 -07:00
Jonathan Klabunde Tomer
098b177bd3
Allow use of the token returned with spam challenges as auth for the challenge verification request
2023-07-06 15:25:19 -07:00
Jon Chambers
ef1a8fc50f
Use PascalCase RPC names for the registration service
2023-07-06 17:12:37 -04:00
Jon Chambers
76f2e93a2c
Reduce concurrency limit for pre-key migration task
2023-07-06 16:45:03 -04:00
Jon Chambers
25ea1df299
Limit concurrency when writing signed EC pre-keys
2023-07-06 15:51:12 -04:00
Chris Eager
5ced86af1d
Set consistentRead=true for registration recovery password lookup
...
This avoids a race condition (in integration test situations) where a lookup could return no results
2023-07-06 15:47:16 -04:00
Jon Chambers
62e02a49df
Log errors from single-shot account crawlers rather than printing them to stderr
2023-07-06 15:46:28 -04:00
Jon Chambers
540550d72a
Handle exceptions thrown when checking pre-key signatures
2023-07-06 15:46:11 -04:00
Jon Chambers
8cb83fb6e4
Switch to temporary registration endpoints to facilitate a change from snake_case to PascalCase
2023-07-06 15:46:00 -04:00
Jon Chambers
56db925f0e
Update to the latest version of the spam filter
2023-07-06 10:33:58 -04:00
Jon Chambers
2c0fc8fe3e
Remove legacy methods from RegistrationServiceClient
2023-07-06 10:32:58 -04:00
Jon Chambers
08c7baafac
Remove legacy registration endpoints from AccountController
2023-07-06 10:32:58 -04:00
Jon Chambers
8edb450d73
Parallelize single-shot account crawlers
2023-07-06 10:15:16 -04:00
ravi-signal
fedeef4da5
Add an optional parameter to require atomic account creation
...
By default, if a registration request has no optional fields for atomic
account creation set, the request will proceed non-atomically. If a
client sets the `atomic` field, now such a request would be rejected.
2023-07-05 11:24:11 -05:00
Jon Chambers
b593d49399
Control signed pre-key deletion via a dynamic configuration flag to facilitate migration
2023-07-05 12:17:17 -04:00
Chris Eager
4a91fc3c3d
Set daemon=true for pubsub topology change event thread
2023-07-05 11:15:12 -05:00
Chris Eager
bb9605d7c3
Use RedisClient#setDefaultTimeout for a non-clustered client
2023-07-05 11:09:28 -05:00
Jon Chambers
1049326a70
Turn on Lettuce latency metrics
2023-06-30 18:20:43 -04:00
Chris Eager
457ecf145f
Add test for Redis timeouts
2023-06-30 12:55:37 -05:00
Chris Eager
463dd9d7d8
Update to Lettuce 6.2.4
2023-06-30 12:55:37 -05:00
Chris Eager
bdcd055aaf
Configure Redis timeouts using TimeoutOptions and RediURI
2023-06-30 12:55:37 -05:00
Jon Chambers
30ae2037e8
Correct order of constructor arguments for KeysManager
2023-06-30 12:05:16 -04:00
Jon Chambers
ce4fdbfb3c
Untangle metric names for RepeatedUseSignedPreKeyStore subclasses
2023-06-30 10:33:24 -04:00
Jon Chambers
2d154eb0cf
Add a command to copy signed pre-keys from Account records to their own table
2023-06-30 10:33:24 -04:00
Jon Chambers
a3e82dfae8
Add a temporary method for storing signed EC pre-keys if and only if another key has not already been stored
2023-06-30 10:33:24 -04:00
Jon Chambers
97a7469432
Measure signed EC pre-key agreement
2023-06-30 10:33:24 -04:00
Jon Chambers
1a1defb055
Store signed EC pre-keys in a dedicated table
2023-06-30 10:33:24 -04:00
Jon Chambers
93c78b6e40
Introduce RepeatedUseECSignedPreKeyStore
2023-06-30 10:33:24 -04:00
Chris Eager
b852d6681d
FaultTolerantHttpClient: used managed ScheduledExecutorService for retries
2023-06-30 10:24:18 -04:00
Chris Eager
8e48ac4ede
Add messagesCache and clientPresenceManager to managed command dependencies
2023-06-30 10:24:18 -04:00
Ehren Kret
859f646c55
Correct timestamp resolution to intended integer value
2023-06-29 16:05:59 -05:00
Chris Eager
fb39b2edaf
Improve two @Disabled flaky tests
2023-06-29 14:56:41 -05:00
Chris Eager
d7bf815bd5
Update to the latest version of the spam filter
2023-06-28 14:30:15 -05:00
Chris Eager
c93af9e31e
Remove MessagePersister from WhisperServerService environment
...
Persistence is now exclusively done by a separate command.
2023-06-28 14:17:49 -05:00
Chris Eager
b81a0e99d4
Always have 0 ApnPushNotificationScheduler worker threads in front-end service
2023-06-28 14:17:23 -05:00
Chris Eager
f8fefe2e5e
Remove AccountCrawler (and doPeriodicWork) from WhisperServerService
2023-06-28 14:16:07 -05:00
Jon Chambers
f26bc70b59
Add a basic, prototype authentication interceptor for gRPC services
2023-06-27 10:21:11 -04:00
Jon Chambers
b5fd131aba
Add an abstract base class for single-shot account crawls
2023-06-27 10:18:35 -04:00
Jon Chambers
06997e19e0
Add a method for iterating across all accounts
2023-06-27 10:18:35 -04:00
Jon Chambers
97710540c0
Use Timer.Sample throughout Experiment
2023-06-27 10:18:20 -04:00
Jon Chambers
c78c109577
Drop a disused endpoint for fetching the caller's own signed pre-key
2023-06-27 10:16:39 -04:00
Jonathan Klabunde Tomer
8d995e456e
initial grpc service code in chat
2023-06-26 17:10:13 -07:00
Ehren Kret
cc3cab9c88
Add server time to remote config fetch
...
Enable clients to very roughly adjust some actions for clock skew by
providing current server time in the remote config fetch.
2023-06-21 17:11:35 -05:00
Jon Chambers
0122b410be
Include push notification urgency in push latency metrics
2023-06-21 15:10:26 -04:00
Jon Chambers
2ddd2b9476
Convert PushRecord to a record and make PushType non-optional
2023-06-21 15:10:26 -04:00
Jon Chambers
a768498250
Record general message delivery latency
2023-06-21 15:10:14 -04:00
Sergey Skrobotov
a45aadae16
Cleaning up references to the legacy format from the rate limiters lua script
2023-06-21 15:09:46 -04:00
Sergey Skrobotov
25802432c2
adding a property to skip uploading to s3 during deploy task
2023-06-21 15:09:18 -04:00
Chris Eager
98578b18aa
Update to dynamodb-lock-client 1.2.0
2023-06-21 15:08:40 -04:00
Chris Eager
6d81f69785
Start and stop all lifecycle-managed objects in CrawlAccountsCommand
2023-06-17 10:17:46 -05:00
Chris Eager
7dce183170
Add worker thread pool to PushFeedbackProcessor
2023-06-16 11:36:28 -05:00
Chris Eager
f1962a03ef
Parameterize worker thread count in CrawlAccountsCommand
2023-06-16 11:36:28 -05:00
Jon Chambers
cb26bfd807
Update to the latest version of the spam filter
2023-06-15 13:12:54 -04:00
Chris Eager
befd336372
Remove static Remote Config auth tokens
2023-06-15 12:11:20 -05:00
Chris Eager
8501e61eb1
Set maxThreads = minThreads on command thread pools
2023-06-15 12:11:10 -05:00
Jon Chambers
ae489e5a52
Log account ages when identity keys change
2023-06-15 13:10:35 -04:00
Chris Eager
13afdbda97
Report system resource metrics from background tasks
2023-06-14 16:48:23 -05:00
Jon Chambers
9cfd88a23f
Move turn secret to static configuration
2023-06-14 10:47:17 -04:00
Jon Chambers
13456bad3a
Update date math with JSR310 types
2023-06-14 10:47:17 -04:00
Jon Chambers
45be85c5ef
Update formatting and resolve warnings/suggestions
2023-06-14 10:47:17 -04:00
Jonathan Klabunde Tomer
861dc0d021
reject message sends that have the same device more than once
2023-06-13 09:49:50 -07:00
Chris Eager
128d709c99
Additional counters and timers for WebSocket connections
2023-06-13 11:46:15 -05:00
Jon Chambers
e8f01be8ef
Inject version bytes if missing from existing EC pre-keys
2023-06-09 11:41:51 -04:00
Jon Chambers
7f1ee015d1
Treat blank strings as null pre-keys
2023-06-09 10:39:16 -04:00
Jon Chambers
17aa5d8e74
Use strongly-typed pre-keys
2023-06-09 10:08:49 -04:00
Jon Chambers
b27334b0ff
Treat blank strings as null identity keys
2023-06-09 10:08:18 -04:00
Jon Chambers
7fc6b1e802
Count invalid pre-keys
2023-06-09 09:25:31 -04:00
Jon Chambers
25b7c8f802
Update to libsignal-server 0.26.0
2023-06-09 09:25:31 -04:00
Jon Chambers
8ec6a24a2d
Fix a metric name/tag set
2023-06-08 12:34:27 -04:00
Jon Chambers
234707169e
Represent identity keys as IdentityKey instances
2023-06-08 11:36:58 -04:00
Jon Chambers
1c8443210a
Check for missing version bytes in invalid identity keys
2023-06-08 09:56:21 -04:00
g1a55er
aaf43a592f
Replace reserved "notification" key with "newMessageAlert"
2023-06-08 09:53:31 -04:00
Jon Chambers
2b08742c0a
Create separate key stores for different kinds of pre-keys
2023-06-06 17:08:26 -04:00
Jon Chambers
cac04146de
Identify specific cases with invalid identity keys
2023-06-06 17:08:01 -04:00
ravi-signal
2b266c7beb
Validate registration ids for new accounts
2023-06-06 11:08:54 -04:00
Jonathan Klabunde Tomer
099932ae68
ApnPushNotifcationScheduler: always run worker thread at least once
2023-06-06 11:04:44 -04:00
Jon Chambers
8579babde6
Count instances where an account's identity key could not be interpreted as an IdentityKey
2023-06-06 11:01:25 -04:00
Jon Chambers
9c93d379a8
Fix a sneaky merge conflict
2023-06-05 12:38:35 -04:00
Jon Chambers
085c7a67c8
Refactor account locks/deleted account manager
2023-06-05 12:30:44 -04:00
Sergey Skrobotov
e6917d8427
minor cleanup, docs, and integration tests for username API
2023-06-02 10:35:07 -07:00
Sergey Skrobotov
47cc7fd615
username links API
2023-06-02 10:26:14 -07:00
Jonathan Klabunde Tomer
ecd207f0a1
Check structural validity of prekeys at upload time
2023-05-31 14:29:39 -07:00
Chris Eager
0ab66f2f14
Add aws-java-sdk-sts to dependencies
2023-05-31 14:57:48 -05:00
Chris Eager
d1e38737ce
Support ID token at PUT /v1/config and DELETE /v1/config
2023-05-30 10:28:28 -05:00
Chris Eager
f17de58a71
Change ScheduledApnPushNotificationSenderServiceCommand to extend ServerCommand
2023-05-30 10:14:33 -05:00
Chris Eager
dd552e8e8f
Change MessagePersisterServiceCommand to extend ServerCommand
2023-05-30 10:14:33 -05:00
Chris Eager
18480e9d18
Move metrics registry environment.manage() to utility
2023-05-30 10:14:33 -05:00
Chris Eager
7ffccd9c3a
Initialize metrics in ScheduledApnPushNotificationSenderServiceCommand
2023-05-26 16:41:17 -05:00
Chris Eager
0edd99e9cf
Initialize metrics in MessagePersisterServiceCommand
2023-05-26 16:41:17 -05:00
Chris Eager
defdc14d5e
Initialize metrics in CrawlAccountsCommand
2023-05-26 16:41:17 -05:00
Chris Eager
5dcf8edd38
Factor metrics registry intialization to a utility
2023-05-26 16:41:17 -05:00
Jon Chambers
a320766bb6
Update to the latest version of the spam filter
2023-05-26 14:22:52 -04:00
Jon Chambers
91805caa9a
Finalize rate limit unit inversion
2023-05-26 14:17:30 -04:00
Jon Chambers
48d39dccbd
Fix rate limit division errors
2023-05-26 13:13:02 -04:00
Jon Chambers
fc9e1f59a5
Update to the latest version of the spam filter
2023-05-26 12:46:36 -04:00
Chris Eager
e7bc8bd6b9
Consistently use AWS credentials providers from WhisperServerService
2023-05-26 12:45:38 -04:00
Jon Chambers
23337d7992
Update to the latest version of the spam filter
2023-05-26 11:43:16 -04:00
Jon Chambers
f513dc0398
Invert rate limit units in default configurations
2023-05-26 11:37:06 -04:00
Jon Chambers
184969336e
Allow RateLimiterConfig to accept either a leak rate per minute or a permit regeneration duration
2023-05-26 11:37:06 -04:00
Chris Eager
1534f1aa6a
Add web identity token AWS SDK credentials provider
2023-05-26 11:07:41 -04:00
Chris Eager
cd8f74e60b
Add support for environment-dependent secondary OAuth2 credentials JSON
2023-05-26 11:07:30 -04:00
Jon Chambers
d832eaa759
Represent identity keys as byte arrays
2023-05-26 10:12:22 -04:00
Jon Chambers
796863341d
Revert "Count identity keys that are present, but can't be parsed as base64"
...
This reverts commit 024dd02628a7d989424273501528b52fe18c3ee9.
2023-05-26 10:12:22 -04:00
Jon Chambers
217b68a1e0
Represent pre-key public keys and signatures as byte arrays in DAOs
2023-05-26 09:58:38 -04:00
Jon Chambers
4a8ad3103c
Actually write pre-keys as byte arrays
2023-05-26 08:23:54 -04:00
Jon Chambers
a5f853c67a
Change inactive account age threshold from 365 to 180 days
2023-05-26 08:23:19 -04:00
Jon Chambers
70b54e227e
Count the prevalence of keys stored as strings or as bytes
2023-05-25 10:04:38 -05:00
Jonathan Klabunde Tomer
1ab6bff54e
add @Produces annotations to a few methods in DeviceController
2023-05-25 09:57:06 -05:00
Chris Eager
c2317e8493
Start the dynamic configuration manager in dependent commands
2023-05-25 09:52:01 -05:00
Jon Chambers
b034a088b1
Add support for "atomic" device linking/activation
2023-05-19 16:13:37 -04:00
Jon Chambers
ae7cb8036e
Factor DeviceActivationRequest out into its own record
2023-05-19 16:13:37 -04:00
Jon Chambers
1a5327aece
Update to the latest version of the spam filter
2023-05-19 15:59:09 -04:00
Jon Chambers
8ce2b04fe4
Discard test device codes
2023-05-19 15:57:14 -04:00
Chris Eager
a3c37aed47
Remove obsolete field from SecureValueRecovery2Configuration
2023-05-19 15:57:01 -04:00
Jon Chambers
fa8f19fd43
Group atomic account creation operations
2023-05-19 15:56:45 -04:00
Jon Chambers
c9a9409b9a
Count identity keys that are present, but can't be parsed as base64
2023-05-19 15:56:27 -04:00
Jon Chambers
d3e0ba6d44
Prepare to read pre-keys stored as byte arrays
2023-05-19 15:56:13 -04:00
Jon Chambers
300ac16cf1
Handle "transport not allowed" responses from the registration service
2023-05-19 15:55:53 -04:00
Chris Eager
3e53884979
Add MessagePersisterServiceCommand
2023-05-18 15:37:54 -05:00
Chris Eager
859fbe9ab1
Update to the latest version of the spam filter
2023-05-18 11:44:38 -05:00
Chris Eager
6043c1a4e8
Add ScheduledApnPushNotificationSenderServiceCommand
2023-05-18 11:44:01 -05:00
Chris Eager
0d9fd043a4
Add container image build using Jib
2023-05-18 11:43:29 -05:00
Chris Eager
f06eaf13d1
Send 1009 for too-large message frames
2023-05-18 11:42:22 -05:00
Jon Chambers
66a619a378
Allow for atomic account creation and activation
2023-05-18 09:51:13 -04:00
Jon Chambers
fb1b1e1c04
Update libsignal-server to 0.24.0
2023-05-18 09:51:13 -04:00
Katherine Yen
9450f88c8c
Add annotation to catch empty request body
2023-05-17 14:28:41 -07:00
Sergey Skrobotov
0706171264
Update to the latest version of the spam filter
2023-05-17 11:43:17 -07:00
Sergey Skrobotov
287e2fa89a
Moving secret values out of the main configuration file
2023-05-17 11:25:59 -07:00
Chris Eager
8d1c26d07d
Add CrawlAccountsCommand
2023-05-17 12:22:49 -05:00
Jonathan Klabunde Tomer
caae27c44c
PQXDH endpoints for chat server
2023-05-16 14:34:33 -07:00
Katherine Yen
34d77e73ff
Fix integer division in call link ratelimit leak rate
2023-05-16 14:34:06 -07:00
Chris Eager
0889741f34
Update GitHub Actions versions
2023-05-12 12:53:47 -05:00
Ravi Khadiwala
8c42199baf
Add svr2 credentials to RegistrationLockFailure responses
...
Add an svr2 credential to 423 responses for:
- PUT v2/accounts/number
- POST v1/registration
Also add some openapi annotations to those endpoints
2023-05-12 11:02:32 -05:00
Katherine Yen
7395b5760a
Remove unused call link config
2023-05-12 11:01:42 -05:00
Jon Chambers
c8f97ed065
Update to the latest version of the spam filter
2023-05-10 15:29:10 -04:00
Jon Chambers
d2baa8b8fb
Stop sending API keys to the registration service
2023-05-10 15:28:12 -04:00
Jon Chambers
1beee5fd04
Update to the latest version of the spam filter
2023-05-10 15:01:37 -04:00
Chris Eager
281b91a59a
Remove obsolete ContactDiscoveryWriter
2023-05-10 14:01:09 -05:00
Jon Chambers
2be2b4ff23
Authenticate with the registration service using OIDC identity tokens in addition to shared API keys
2023-05-10 14:59:07 -04:00
Jon Chambers
a83fd1d3fe
Include request method as a request counter dimension
2023-05-09 15:17:46 -05:00
Jon Chambers
cb72e4f426
Simplify request counter
2023-05-09 15:17:46 -05:00
Chris Eager
3214852a41
Fix 401 on /v1/keepalive
2023-05-09 15:08:03 -05:00
Jon Chambers
1057bd7e1f
Resolve warnings/suggestions throughout ProfileControllerTest
2023-05-09 10:32:32 -04:00
Jonathan Klabunde Tomer
33903553ab
reinstate per-{path,status,platform,is-websocket} request counters
2023-05-09 09:49:20 -04:00
Katherine Yen
c309afc04b
Displace client presence when existing account reregisters
2023-05-05 11:31:18 -07:00
Erik Osheim
f6c4ba898b
Update to the latest version of the spam filter
2023-05-05 11:22:29 -04:00
Katherine Yen
7ba86b40aa
Create call link credential endpoint
2023-05-04 14:33:45 -07:00
Katherine Yen
b2b0aee4b7
Call link auth credential
2023-05-04 14:17:01 -07:00
Jon Chambers
919cc7e5eb
Update libsignal to 0.23
2023-05-04 14:10:51 -07:00
Jonathan Klabunde Tomer
e38911b2c5
Always check prekey signatures when new prekeys are uploaded
2023-05-04 11:31:45 -07:00
Chris Eager
bc68b67cdf
account crawler: remove obsolete accelerated mode
2023-05-04 11:27:16 -05:00
Chris Eager
42a9f1b3e4
account crawler: remove set*Dynamo methods
2023-05-04 11:27:16 -05:00
ravi-signal
08333d5989
Implement /v2/backup/auth/check
2023-05-04 11:23:33 -05:00
Ravi Khadiwala
0e0c0c5dfe
return 400 instead of 503 for bad verification session-id
2023-05-04 09:22:51 -07:00
Ravi Khadiwala
59ebe65643
Add counter to /v2/attachments
2023-05-04 09:22:18 -07:00
Chris Eager
4fd2422e4d
Catch and close() after UninitializedMessageException in websocket messages
2023-05-03 13:36:29 -05:00
Chris Eager
6181d439f6
Update to the latest version of the spam filter
2023-05-03 13:35:35 -05:00
Chris Eager
57b6c10dd1
Remove obsolete dynamic configuration
2023-05-03 13:20:44 -05:00
Jon Chambers
3ee5ac4514
Fix a late-breaking merge conflict
2023-05-02 16:12:26 -04:00
Jonathan Klabunde Tomer
be176f98ad
metric for take-prekey yielding an empty result
2023-05-02 13:03:49 -07:00
Jon Chambers
12b58a31a1
Retire integration with legacy contact discovery system
2023-05-02 15:57:03 -04:00
Jon Chambers
8d468d17e3
Add a temporary counter for profile key credential types
2023-05-02 15:56:19 -04:00
Erik Osheim
30df4c3d29
Update to the latest version of the spam filter
2023-05-02 10:37:22 -05:00
Brenden Stahle
5122a1c466
Change the copyright date from 2022 to 2023.
2023-05-02 10:31:04 -05:00
Chris Eager
e135d50d82
Add counter for ContactDiscoverWriter updates
2023-05-01 13:42:14 -05:00
Chris Eager
487b5edc75
Handle potentially null payment method when canceling subscription
2023-05-01 13:42:05 -05:00
Jonathan Klabunde Tomer
47ad5779ad
new /v2/accounts endpoint to distribute PNI key material without changing phone number
2023-04-21 12:20:57 -07:00
Katherine Yen
4fb89360ce
Allow registration via recovery password for reglock enabled accounts
2023-04-20 09:21:04 -07:00
Jon Chambers
6dfdbeb7bb
Check for no-op APNs token changes
2023-04-19 17:01:01 -04:00
Jon Chambers
d0ccbd5526
Simplify a check for no-op FCM token changes
2023-04-19 17:01:01 -04:00
Jon Chambers
031ee57371
Convert "set push token" request objects to records
2023-04-19 17:01:01 -04:00
Jon Chambers
2043678739
Remove the removeSignalingKey API endpoint
2023-04-19 17:00:47 -04:00
Jon Chambers
dd27e3b0c8
Convert attachment descriptors to records
2023-04-19 17:00:34 -04:00
Jon Chambers
1083d8bde0
Remove the legacy group credential endpoint
2023-04-19 17:00:14 -04:00
Jon Chambers
d1eb247d8c
Clarify the purpose of an addListener method
2023-04-18 12:04:54 -04:00
Jon Chambers
fd5e9ea016
Drop the old (and now unused!) redis-dispatch module
2023-04-18 12:04:54 -04:00
Jon Chambers
11829d1f9f
Refactor provisioning plumbing to use Lettuce
2023-04-18 12:04:54 -04:00
Ehren Kret
ae70d1113c
use same protoc version as library dependency
2023-04-17 14:41:55 -05:00
Katherine Yen
c485d317fb
Mock apnPushNotificationScheduler
2023-04-17 10:55:15 -07:00
Katherine Yen
350682b83a
Lock account and send notification when someone passes phone verification but fails reglock
2023-04-17 10:30:36 -07:00
ravi-signal
0fe6485038
Add a configuration to make rate limiters fail open
2023-04-14 13:08:14 -05:00
Sergey Skrobotov
a553093046
integration tests initial setup
2023-04-13 11:12:34 -07:00
Erik Osheim
af0d5adcdc
Update to the latest version of the spam filter
2023-04-11 16:40:03 -04:00
Katherine Yen
61af1ba029
Clean up prohibited username references
2023-04-10 15:21:02 -07:00
ravi-signal
8847cb92ac
Don't block when scheduling background apns pushes
2023-04-10 13:51:36 -05:00
Erik Osheim
5242514874
Update to the latest version of the spam filter
2023-04-07 17:13:48 -04:00
Chris Eager
33a6577b6e
Decrease message delivery executor thread count to 20
2023-04-07 10:56:23 -05:00
Chris Eager
23d5006f70
Add prefix to executor metric names
2023-04-05 09:51:53 -05:00
Chris Eager
2697872bdd
Use Apache StringUtils#join
2023-04-05 09:51:30 -05:00
Ravi Khadiwala
7b331edcde
Separate username and signature truncation fields
2023-04-05 09:51:00 -05:00
Katherine Yen
e4da59c236
Generic credential auth endpoint for call links
2023-04-04 10:28:35 -07:00
Jonathan Klabunde Tomer
48ebafa4e0
DynamoDBExtension refactor and helpers for our schema ( #1327 )
...
There's a lot of boilerplate involved in setting up a DynamoDBExtension, and some tests were creating several extensions
rather than one with several tables, which is probably slower than it has to be.
This change adds a new DynamoDbExtensionSchema class in which we can define the Dynamo schema for tests, and refactors
DynamoDbExtension to make it easy to instantiate a single extension with all the tables one wants (and no more, both to
minimize test startup time and to ensure we explicitly test our dependencies and lack thereof).
Tests requiring a DynamoDbExtension with a table schema that's not part of the normal Signal schema can instantiate a
DynamoDbExtension.RawSchema instead.
Test timings are unaffected, at least on my machine. Before:
```[INFO] service ............................................ SUCCESS [01:18 min]```
After:
```[INFO] service ............................................ SUCCESS [01:18 min]```
Co-authored-by: Jonathan Klabunde Tomer <jkt@viola.signal.org >
2023-04-03 13:08:43 -07:00
Erik Osheim
f5726f63bd
Update to the latest version of the spam filter
2023-04-03 14:34:13 -04:00
Jonathan Klabunde Tomer
391b070cff
KeysController: return correct number of unsigned prekeys
...
When GET /v2/keys was orignally added in b263f47 , prekeys were stored in
Postgres, with a user's unsigned and signed keys together in the same table.
Therefore GET /v2/keys subtracted one from the count returned by storage.
In d4d9403 , we changed to a different storage schema, with unsigned prekeys in
one DynamoDB table and unsigned prekeys in the accounts Dynamo table.
Unfortunately, GET /v2/keys was not changed to stop subtracting one from the
count of prekeys in the keys table at the same time. This commit fixes that.
2023-04-03 14:32:45 -04:00
gram-signal
781cd0ca3f
Truncate SVR2 IDs to 16 bytes rather than 10.
2023-03-30 17:19:18 -06:00
Erik Osheim
84355963f9
Update to the latest version of the spam filter
2023-03-29 16:51:48 -04:00
Chris Eager
3ccfeb490b
Add retry after exceptions during a cluster topology change event callback
2023-03-29 11:41:19 -05:00
Chris Eager
0cc84131de
Add enabled to SVR2 configuration
2023-03-29 11:40:21 -05:00
Chris Eager
4fa08fb189
Add secure value recovery 2 to AccountsManager#delete()
2023-03-29 11:40:21 -05:00
Chris Eager
2a551d1d41
Add SecureValueRecovery2Client
2023-03-29 11:40:21 -05:00
Chris Eager
391aa9c518
Wrap runtime exceptions during WebSocket auth into AuthenticationException
2023-03-29 10:08:55 -05:00
Erik Osheim
39d9fd0317
Update to the latest version of the spam filter
2023-03-28 11:20:18 -04:00
Chris Eager
18b1fcd724
Update to the latest version of the spam filter
2023-03-22 13:08:58 -05:00
Chris Eager
f5c62a3d85
Migrate from bounded elastic to dedicated executor for message delivery
2023-03-22 12:57:44 -05:00
Chris Eager
6075d5137b
Add /v2/accounts/data_report
2023-03-22 12:57:21 -05:00
ravi-signal
890293e429
change v1/challenge response for invalid captcha
2023-03-21 17:38:30 -05:00
Ravi Khadiwala
05b43a878b
Register unlink device command
2023-03-21 17:35:57 -05:00
Chris Eager
fe9c3982a1
Remove prepended username from /v2/backup/auth response
2023-03-21 17:35:42 -05:00
Ravi Khadiwala
82baa892f7
Update to the latest version of spam filter
2023-03-21 17:34:58 -05:00
Ravi Khadiwala
ee53260d72
Add filter-provided captcha score thresholds
2023-03-21 17:34:58 -05:00
Ravi Khadiwala
a8eb27940d
Add per-action captcha site-key configuration
...
- reject captcha requests without valid actions
- require specific site keys for each action
2023-03-21 17:34:58 -05:00
Erik Osheim
fd8918eaff
Update to the latest version of the spam filter
2023-03-21 15:47:55 -04:00
Katherine Yen
a3a7d7108b
Change reglock expiration check to be > 0 instead of >= 0
2023-03-21 12:46:35 -07:00
Jon Chambers
cd27fe0409
Update to the latest version of the spam filter
2023-03-20 15:28:01 -04:00
Jon Chambers
35606a9afd
Send "account already exists" flag when creating registration sessions
2023-03-20 15:18:55 -04:00
Jon Chambers
2052e62c01
Use a purpose-specific method when checking verification codes via the legacy registration API
2023-03-20 15:18:38 -04:00
Erik Osheim
8ccab5c1e0
Update to the latest version of the spam filter
2023-03-17 16:41:48 -04:00
Chris Eager
292f69256e
Refactor WebSocket message sending error and completion to subscriber from “doOn…”
2023-03-17 12:42:57 -05:00
ravi-signal
fbdcb942e8
Add unlink user command
2023-03-16 11:17:36 -05:00
Sergey Skrobotov
c14ef7e6cf
migrate token bucket redis record format from json to hash: phase 2
2023-03-16 09:15:22 -07:00
Jon Chambers
a04fe133b6
Fix a typo in a method name
2023-03-15 16:01:14 -07:00
Sergey Skrobotov
483e444174
migrate token bucket redis record format from json to hash: phase 1
2023-03-15 16:01:06 -07:00
Sergey Skrobotov
ebf8aa7b15
fixing embedded redis based tests
2023-03-15 13:56:40 -07:00
Katherine Yen
7c52be2ac1
Bump old registration default ratelimiter to match Bravo
2023-03-15 09:44:02 -07:00
Sergey Skrobotov
203a49975c
artifact is now available in maven central
2023-03-14 12:02:16 -07:00
Sergey Skrobotov
7d45838a1e
reordering maven repositories
2023-03-13 22:22:25 -07:00
Katherine Yen
2683f1c6e7
Encode username hash to base64 string without padding
2023-03-13 15:35:27 -07:00
Sergey Skrobotov
d13413aff2
Update to the latest version of the spam filter
2023-03-13 15:04:51 -07:00
Sergey Skrobotov
4c85e7ba66
Moving RateLimiter logic to Redis Lua and adding async API
2023-03-13 14:50:26 -07:00
Katherine Yen
46fef4082c
Add metrics for registration lock flow
2023-03-09 09:07:21 -08:00
Ravi Khadiwala
c06313dd2e
Drop tagging for legacy user agents
2023-03-09 10:43:45 -06:00
Ravi Khadiwala
59bc2c5535
Add by-action captcha score config
...
Enable setting different captcha score thresholds for different captcha
actions via configuration
2023-03-09 10:43:16 -06:00
Chris Eager
437bc1358b
Use server timestamp for queue score
2023-03-06 11:31:11 -06:00
Katherine Yen
99e651e902
Update to the latest version of the spam filter
2023-03-03 14:10:56 -08:00
Chris Eager
757ce42a35
Update s3-upload-maven-plugin to 2.0.1
2023-03-03 13:17:28 -06:00
Chris Eager
179f3df847
Allow DisabledPermittedAuthenticatedAccount at /v1/accounts/me
2023-03-03 13:17:17 -06:00
Chris Eager
8a889516b0
Improve LoggingUnhandledExceptionMapper combination with CompletionExceptionMapper
2023-03-03 13:17:07 -06:00
Jon Chambers
7de5c0a27d
Keep counts of open websockets by client platform
2023-03-03 13:16:24 -06:00
Chris Eager
71d234e1e4
Update default rate limiter config
2023-03-02 10:27:07 -06:00
Chris Eager
b5fb33e21e
Remove unused metrics
2023-03-02 10:14:58 -06:00
Sergey Skrobotov
2be22c2a8e
Updating documentation github action to handle no changes case
2023-02-28 14:48:09 -08:00
Chris Eager
db198237f3
Expand try-finally scope of deleted accounts reconciliation lock
2023-02-28 12:42:18 -06:00
Chris Eager
d0ccae129a
Remove obsolete metric
2023-02-27 16:33:34 -06:00
Chris Eager
ecbef9c6ee
Add micrometer metrics to RateLimiter
2023-02-27 16:33:27 -06:00
Chris Eager
ef2cc6620e
Add @Produces annotation for validation error response
2023-02-27 16:33:18 -06:00
ravi-signal
b8f363b187
Add documentation to challenge controller
2023-02-24 17:41:15 -06:00
Sergey Skrobotov
c3f4956ead
OpenAPI support
2023-02-24 13:03:30 -08:00
Chris Eager
047f4a1c00
Update metric name
2023-02-24 13:07:07 -06:00
Sergey Skrobotov
41c0fe9ffa
Adding a uniform configuration for all json/yaml mapper use cases: part 2
2023-02-24 09:28:55 -08:00
Sergey Skrobotov
6edb0d49e9
Adding a uniform configuration for all json/yaml mapper use cases: bugfix
2023-02-23 20:01:32 -08:00
Sergey Skrobotov
a5e3b81a50
Update to the latest version of the spam filter
2023-02-23 17:12:12 -08:00
Sergey Skrobotov
b9b4e3fdd8
Adding a uniform configuration for all json/yaml mapper use cases: part 1
2023-02-23 16:38:48 -08:00
Jon Chambers
6ee9c6ad46
Remove deprecated registration service response fields
2023-02-23 12:41:56 -08:00
Sergey Skrobotov
6d6556eee5
Update to the latest version of the spam filter
2023-02-23 11:04:14 -08:00
Sergey Skrobotov
7529c35013
Rate limiters code refactored
2023-02-23 10:49:06 -08:00
erik-signal
378b32d44d
Add missing token field to OutgoingMessageEntity
2023-02-23 11:18:07 -05:00
Chris Eager
e1fcd3e3f6
Remove Lettuce command latency recorder
2023-02-23 10:17:31 -06:00
Chris Eager
d7ad8dd448
Add micrometer timer to FaultTolerantPubSubConnection
2023-02-23 10:17:24 -06:00
Chris Eager
859f2302a9
Remove unused metrics
2023-02-23 10:17:24 -06:00
Chris Eager
a6d11789e9
Add ClosedChannelException to expected errors
2023-02-23 10:17:16 -06:00
Chris Eager
43f83076fa
Update to reactor 3.5.3
2023-02-23 10:16:57 -06:00
erik-signal
71c0fc8d4a
Improve metrics around spam report tokens.
2023-02-22 15:43:44 -05:00
Chris Eager
d2f723de12
Update to the latest version of the spam filter
2023-02-22 14:33:29 -06:00
Chris Eager
1f4f926ce6
Add platform tag to subscription receipt metrics
2023-02-22 14:31:30 -06:00
Chris Eager
35286f838e
Add /v1/verification
2023-02-22 14:27:05 -06:00
Jon Chambers
e1ea3795bb
Reuse registration sessions if possible when requesting pre-auth codes
2023-02-22 12:45:26 -05:00
erik-signal
95237a22a9
Relax validation to allow null reporting tokens.
2023-02-22 11:06:51 -05:00
Katherine Yen
11c93c5f53
Keep username hash during reregistration
2023-02-21 09:07:30 -08:00
Jon Chambers
b59b8621c5
Add reporter platform as a reported message dimension
2023-02-17 16:44:13 -05:00
Chris Eager
44c61d9a58
Allow updates if the profile already has a payment address
2023-02-17 16:44:01 -05:00
Ehren Kret
63a17bc14b
add support for running tests from aarch64
2023-02-16 09:57:34 -06:00
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