Commit Graph

83 Commits

Author SHA1 Message Date
Jon Chambers
474b879b16 Only notify CDS if an account attribute change actually changes an account's discoverability. 2020-11-16 10:54:12 -05:00
Jon Chambers
7cf50a15d0 Include client age/UA string when closing due to a spurious keepalive request. 2020-11-10 11:45:12 -05:00
Jon Chambers
adbc4e9fec Record the platforms of clients that send a keepalive without a local presence. 2020-11-10 11:45:12 -05:00
Ehren Kret
604287244f Update copyright statement on all source files
IntelliJ Copyright Profile used to automate this.
2020-11-04 11:55:35 -05:00
Ehren Kret
5587b7d469 Expose gv1-migration on profile endpoint 2020-10-28 13:00:57 -04:00
Ehren Kret
c2db2d3cbd Add GV1 Migration capability 2020-10-27 16:17:21 -04:00
Jon Chambers
8523bb1ad8 Change the "oversized message" threshold from 64kB to 1MB. 2020-10-23 11:13:19 -04:00
Jon Chambers
23ca011ac1 Record account deletion reasons. 2020-10-20 19:00:34 -04:00
Jon Chambers
05929871c9 Rename PushSender to MessageSender and add docs. 2020-10-19 11:24:35 -04:00
Jon Chambers
5e30b0499a Move provisioning message-sending to its own manager class. 2020-10-19 11:24:35 -04:00
Jon Chambers
adac7d7fb2 Estimate the size of message entity lists sent via the REST API. 2020-10-13 15:49:11 -04:00
Curt Brune
39c09733d3 Add /v1/payments/auth endpoint 2020-10-08 10:51:01 -04:00
Jon Chambers
e1c397993d Require Android clients to support the gv2-3 capability 2020-10-06 16:49:49 -04:00
Jon Chambers
e6d4620af1 Only allow linking desktop clients if they support the third-generation GV2 capability. 2020-09-25 17:08:32 -04:00
Jon Chambers
a553eba574 Add an API endpoint for deleting accounts. 2020-09-25 11:39:17 -04:00
Jon Chambers
c54d3abe47 Check for the second-gen GV2 capability when linking devices. 2020-09-24 19:04:02 -04:00
Jon Chambers
7e14a0bc30 Drop pub/sub operations from WebsocketConnection. 2020-09-23 14:51:02 -04:00
Jon Chambers
62c31eb202 Revert "Revert keyspace delivery for all messages"
This reverts commit 4dc49604b6.
2020-09-22 10:21:33 -04:00
Jon Chambers
903a1bec91 Reject (eventually) oversize messages. 2020-09-17 17:07:20 -04:00
Jon Chambers
ebc3a251b7 Drop the UUID addressing capability flag entirely. 2020-09-14 15:36:29 -04:00
Jon Chambers
a567f4a6de Don't check UUID capability when blocking capability downgrades. 2020-09-14 15:36:29 -04:00
Jon Chambers
4dc49604b6 Revert keyspace delivery for all messages
* Revert "Send all messages via keyspace notifications when a feature flag is enabled."

This reverts commit fadcf62166.

* Revert "Consolidate semaphore release logic."

This reverts commit c02b255766.

* Revert "Represent stored message state as an enumeration rather than a collection of booleans."

This reverts commit 89788fa665.

* Revert "Refactor: collapse state into semaphores/atomic booleans."

This reverts commit a052e2ee8f.

* Revert "Refactor: move sendNextMessagePage into its own method."

This reverts commit 158e5004b7.

* Revert "Avoid querying the database if we think all new messages are in the cache."

This reverts commit 6f9ff3be37.

* Revert "Query for more stored messages if an update happens while we're already processing a batch."

This reverts commit f766c57743.

* Revert "Only send the "queue cleared" message once per websocket session."

This reverts commit 8f53152c3e.

* Revert "Let processStoredMessages handle requery logic."

This reverts commit 7bbc88d716.

* Revert "Only allow one thread to process stored messages at a time."

This reverts commit 68256d2343.
2020-09-14 15:35:10 -04:00
Jon Chambers
6f9ff3be37 Avoid querying the database if we think all new messages are in the cache. 2020-09-11 13:12:17 -04:00
Jon Chambers
2c6b646d87 Enforce no capability downgrade on device verification 2020-09-09 16:05:00 -04:00
Ehren Kret
d715f86713 Refactor to constants 2020-09-01 10:55:26 -04:00
Ehren Kret
5221828705 Increase maximum sticker size to 300 kibibytes
In preparation for animated stickers, allow stickers to be up to 300
kibibytes.
2020-09-01 10:55:26 -04:00
Jon Chambers
ce026e7ad0 Don't send contacts to CDS if they've opted out of discoverability. (SERVER-130) 2020-08-27 15:58:02 -04:00
Jon Chambers
58e3122dab Add a discoverableByPhoneNumber account attribute. (SERVER-129) 2020-08-27 15:58:02 -04:00
Jon Chambers
32b18c9509 Add an endpoint for getting the current state of feature flags. 2020-08-27 13:18:12 -04:00
Jon Chambers
1ef3546822 Add support for server-side feature flags 2020-08-26 20:27:33 -04:00
Jon Chambers
2d75f59d33 Add support for UUID-only delivery certificates. (SERVER-132) 2020-08-20 17:05:53 -04:00
Jon Chambers
9699b67510 Record the size of outgoing message lists. 2020-08-12 16:57:10 -04:00
Jon Chambers
31a215d4d6 Use "global." instead of "g." as the prefix for global config options. 2020-08-11 11:55:35 -04:00
Ehren Kret
b97158bf7b Create global remote config controllable in the signal server configuration (#127)
* Add global config controller through file rather than database

* Do no permit attempting to set or delete global config entries
2020-08-10 16:31:15 -05:00
Ehren Kret
4fa3a136ad Remove arbitrary SMS and add a NANPA message service (#123)
* Remove arbitrary SMS code

This code has run its course and is no longer needed for now.

* Add elements to sample config that were left out

* Add a messaging service for NANPA

* Fixup sample config capitalization
2020-08-05 13:35:11 -05:00
Jon Chambers
901ba6e87f Added a push latency manager. 2020-08-03 15:36:02 -04:00
Jon Chambers
f9f93c77e2 Use UUIDs instead of phone numbers as account identifiers in clustered message cache 2020-07-30 11:39:14 -04:00
Jon Chambers
fea72b190d Record message content size as a dimensioned distribution. 2020-07-28 11:47:56 -04:00
Ehren Kret
25a5a8db68 Set avatar to null on Account when request is false (#78) 2020-06-29 15:53:31 -05:00
Jon Chambers
b16e37d80a Record a histogram of incoming message list sizes. 2020-06-12 14:43:50 -04:00
Jon Chambers
6f767a72a7 Add a timer for the private sendMessage method. 2020-06-12 14:43:50 -04:00
Ehren Kret
8287317be7 Add account device ID to the prekey rate limiter
This limits prekey fetching per device on an account instead of on an
account level.
2020-06-09 10:20:10 -07:00
Moxie Marlinspike
f07f02d866 Deliver upgrade link to stale clients 2020-06-06 18:20:55 -07:00
Ehren Kret
7da9e88c0b Add hashKey to RemoteConfig
This allows the percentages for different entries in remote config to
be aligned so one remote config can be a subset of another.
2020-05-13 11:08:22 -07:00
Jon Chambers
001a9310c3 Support device transfers (SERVER-41, SERVER-42) (#32)
This change introduces a `transfer` device capability and account creation argument in support of the iOS device transfer effort.
2020-05-12 12:23:18 -04:00
Moxie Marlinspike
8ffadfa1f1 Add payment addresses on account attributes update 2020-05-07 09:52:38 -07:00
Jon Chambers
10840b22c5 Don't let one unregistered device block receipt for others. 2020-05-04 17:51:25 -04:00
Ehren Kret
50ccfee201 Allow remote config to send non-boolean values
This version of remote config allows non-boolean values to be returned
to clients but unfortunately limits the configuration to only one
value or another. There is no way to configure more than two values
for the same key with this setup.
2020-04-29 10:51:10 -07:00
Moxie Marlinspike
95f0ce1816 Support for advertising payment addresses on profile 2020-04-22 12:32:53 -07:00
Moxie Marlinspike
1408ac77f9 Make storageCapable a boolean result rather than an auth token 2020-04-09 10:19:49 -07:00