Moxie Marlinspike
e0f7ff325a
Add voip push support in communication with push server.
...
// FREEBIE
2015-03-25 15:59:52 -07:00
Moxie Marlinspike
1fcd1e33c5
Log keepalives for unsubscribed channels.
...
// FREEBIE
2015-03-24 14:13:32 -07:00
Moxie Marlinspike
843b16c1f0
Correctly serialize provisioning addresses.
...
// FREEBIE
2015-03-24 12:10:59 -07:00
Moxie Marlinspike
a58f3f0fe3
Check subscription status on websocket keepalive.
...
// FREEBIE
2015-03-24 10:48:14 -07:00
Moxie Marlinspike
e69e395b25
Support for receiving "canonical id" update events from pushserver.
...
// FREEBIE
2015-03-24 10:47:45 -07:00
Moxie Marlinspike
456164fc24
Support registering a 'voip' APN ID.
...
// FREEBIE
2015-03-24 10:47:20 -07:00
Moxie Marlinspike
2de9adb7ae
Make dispatch subscription/unsubscription synchronized.
2015-03-19 14:37:10 -07:00
Moxie Marlinspike
c7e0cc1158
Use a custom redis pubsub implementation rather than Jedis.
...
// FREEBIE
2015-03-17 13:30:51 -07:00
Moxie Marlinspike
e79861c30a
Add connection duration stats.
...
// FREEBIE
2015-03-15 10:21:24 -07:00
Moxie Marlinspike
41d30fc8dc
Resubscribe listeners when subscription link breaks.
...
// FREEBIE
2015-03-13 10:56:48 -07:00
Moxie Marlinspike
2e429c5b35
Loop voice verification prompt 3 times.
...
Fixes #18
Closes #32
// FREEBIE
2015-03-13 10:09:40 -07:00
Moxie Marlinspike
f623b24196
Fix string formatting.
...
// FREEBIE
2015-03-12 16:29:49 -07:00
Moxie Marlinspike
2d28077010
Make idle timeout 90s
...
// FREEBIE
2015-03-10 17:27:43 -07:00
Moxie Marlinspike
7011f3c3c7
Fix 500 on validation error
2015-03-10 16:00:20 -07:00
Moxie Marlinspike
1403dbd5dd
Handle pubsub callbacks from a cached thread pool.
...
...implement some belt and suspenders dead letter handling.
...implement some belt and suspenders redis pubsub queue handling.
// FREEBIE
2015-03-10 12:45:05 -07:00
Moxie Marlinspike
6ef3845a34
Don't consider empty relays present on receipt delivery.
2015-03-09 15:41:50 -07:00
Moxie Marlinspike
de2f0914f0
Reenable websocket notifications for Android.
...
// FREEBIE
2015-03-09 09:39:09 -07:00
Moxie Marlinspike
080ae0985f
Support URL-safe Base64 encoding for directory tokens.
...
// FREEBIE
2015-03-09 09:34:02 -07:00
Moxie Marlinspike
be77f2291b
Temporarily disable GCM websocket notifications.
...
Workaround for a client bug.
// FREEBIE
2015-03-07 09:24:55 -08:00
Moxie Marlinspike
0c94e3d994
Don't print the full stack trace for twilio exceptions.
2015-03-05 08:37:27 -08:00
Moxie Marlinspike
4a93658d0f
Don't consider an empty string to be a possible relay.
...
// FREEBIE
2015-03-05 08:36:56 -08:00
Moxie Marlinspike
6da19c6254
Set registration id when newly provisioned device registers.
2015-03-05 08:36:30 -08:00
Moxie Marlinspike
864675ecde
Return stored messages in order.
...
// FREEBIE
2015-02-23 12:14:41 -08:00
Moxie Marlinspike
c79d7e3e30
Close existing websocket connection for a device on new connect.
...
// FREEBIE
2015-02-23 12:11:07 -08:00
Moxie Marlinspike
aa84ab66af
Support for GCM stored messages.
...
// FREEBIE
2015-02-04 14:19:50 -08:00
Moxie Marlinspike
9170f74887
Vacuum messages now too.
...
// FREEBIE
2015-02-02 08:59:32 -08:00
Moxie Marlinspike
0928e4c035
Fix leaky bucket serialization.
...
// FREEBIE
2015-01-30 11:48:49 -08:00
Moxie Marlinspike
75aec0a8d4
Switch to Redis for all caching.
...
// FREEBIE
2015-01-29 15:37:28 -08:00
Moxie Marlinspike
1f5ee36a6b
Switch to postgresql-backed message DB.
...
// FREEBIE
2015-01-29 13:25:33 -08:00
Moxie Marlinspike
45a0b74b89
Device provisioning fixes.
...
// FREEBIE
2015-01-21 15:15:40 -08:00
Moxie Marlinspike
f7132bdbbc
Rearrange provisioning flow. Add needsMessageSync response.
...
// FREEBIE
2015-01-21 13:56:58 -08:00
Moxie Marlinspike
d2dbff173a
Adjust encoding
2015-01-19 19:03:06 -08:00
Moxie Marlinspike
79f83babb3
Support for ephemeral provisioning communication channels.
...
// FREEBIE
2015-01-18 18:09:25 -08:00
Moxie Marlinspike
32c0712715
Chunk local directory update queries.
...
// FREEBIE
2015-01-03 19:43:19 -08:00
Moxie Marlinspike
fa4e492d1c
Get rid of GSON dependency.
...
// FREEBIE
2015-01-03 18:28:51 -08:00
Moxie Marlinspike
08291502eb
Expire in-memory queues after 30 days of inactivity.
...
// FREEBIE
2015-01-03 17:24:35 -08:00
Moxie Marlinspike
1f0acd0622
Don't warn on connection timeout exceptions.
...
// FREEBIE
2015-01-03 16:51:59 -08:00
Moxie Marlinspike
dafda85c36
Move JSON reporter to Dropwizard ReporterFactory structure.
2015-01-02 23:53:40 -08:00
Moxie Marlinspike
8441fa9687
Fix bugs associated with PubSub encoding.
...
// FREEBIE
2014-12-12 12:35:05 -08:00
Moxie Marlinspike
77800dfb01
Update websocket-resources.
...
// FREEBIE
2014-12-08 09:07:45 -08:00
Moxie Marlinspike
41d15b738b
Refactor direct connect delivery pipeline and message store.
...
1) Make message store contents more memory efficient.
2) Make notification pipeline simpler and more memory efficient.
3) Don't b64 encode websocket message bodies.
// FREEBIE
2014-12-06 20:00:39 -08:00
Moxie Marlinspike
56d3c1e73f
Turn down log levels.
...
// FREEBIE
2014-12-03 11:44:40 -08:00
Moxie Marlinspike
f401f9a674
Schedule at 1min instead of 10min.
...
// FREEBIE
2014-12-03 11:35:38 -08:00
Moxie Marlinspike
30933d792b
Timestamp comparison should be the other way.
...
// FREEBIE
2014-12-03 11:33:34 -08:00
Moxie Marlinspike
905717977e
Turn down logging on metrics reporter.
...
// FREEBIE
2014-12-03 11:09:37 -08:00
Moxie Marlinspike
b802994809
Do a timestamp comparison on unregister events.
...
// FREEBIE
2014-12-03 11:09:01 -08:00
Moxie Marlinspike
cc395e914f
Fix APN push payload.
...
// FREEBIE
2014-12-01 14:01:53 -08:00
Moxie Marlinspike
f8063f8faf
Add feedback handler.
...
// FREEBIE
2014-12-01 13:27:06 -08:00
Moxie Marlinspike
3452ea29b8
Use push microservice instead of doing push directly.
...
// FREEBIE
2014-12-01 11:23:29 -08:00
Moxie Marlinspike
675b6f4b5e
Update APN payload.
...
// FREEBIE
2014-11-27 18:20:23 -08:00
Moxie Marlinspike
4fab67b0f5
Switch to production APN endpoint.
...
// FREEBIE
2014-11-27 16:25:02 -08:00
Moxie Marlinspike
2525304215
Account for websocket-resources changes.
...
// FREEBIE
2014-11-15 09:48:09 -08:00
Moxie Marlinspike
fdb35d4f77
Switch to WebSocket-Resources
...
// FREEBIE
2014-11-14 17:59:50 -08:00
Moxie Marlinspike
222c7ea641
Support for signature token based account verification.
2014-11-13 14:56:24 -08:00
Moxie Marlinspike
fd662e3401
Add vacuum command.
...
// FREEBIE
2014-11-04 19:32:35 -08:00
Moxie Marlinspike
30017371df
Reconnect even when Smack thinks it doesn't need to.
2014-10-01 14:07:12 -07:00
Moxie Marlinspike
c9a1386a55
Fix for PubSub channel.
...
1) Create channels based on numbers rather than DB row ids.
2) Ensure that stored messages are cleared at reregistration
time.
2014-07-26 20:41:25 -07:00
Moxie Marlinspike
4eb88a3e02
Server side support for delivery receipts.
2014-07-25 15:48:34 -07:00
Moxie Marlinspike
160c0bfe14
Switch from Java serialization to JSON for memcache storage.
2014-07-23 18:02:35 -07:00
Moxie Marlinspike
4cd098af1d
Switch to GCM CCS and add support for APN feedback processing.
2014-07-23 18:00:49 -07:00
Moxie Marlinspike
69de9f6684
Fix stored message retrieval.
...
// FREEBIE
2014-07-21 01:20:14 -07:00
Moxie Marlinspike
820a2f1a63
Break FederationController into V1 and V2
2014-07-16 17:24:01 -07:00
Moxie Marlinspike
6fac7614f5
Allow device to query their currently stored signed prekey.
2014-07-16 14:44:00 -07:00
Moxie Marlinspike
b724ea8d3b
Renamed 'device key' to 'signed prekey'.
2014-07-11 10:37:19 -07:00
Moxie Marlinspike
06f80c320d
Introduce V2 API for PreKey updates and requests.
...
1) A /v2/keys controller.
2) Separate wire protocol PreKey POJOs from database PreKey
objects.
3) Separate wire protocol PreKey submission and response POJOs.
4) Introduce a new update/response JSON format for /v2/keys.
2014-07-10 18:06:45 -07:00
Moxie Marlinspike
dd36c861ba
Pipeline directory update redis flow for a 10x speedup.
2014-07-10 17:31:39 -07:00
Moxie Marlinspike
405802c492
Get JSON metrics response code.
2014-06-30 12:18:16 -07:00
Moxie Marlinspike
e15f3c9d2b
By default, dont try to gunzip
2014-06-29 19:48:47 -07:00
Moxie Marlinspike
885af064c9
Support unrecognized properties.
2014-06-29 18:16:43 -07:00
Moxie Marlinspike
40529dc41f
Fix JSON reporter.
2014-06-27 19:49:21 -07:00
Moxie Marlinspike
4c543e6f06
Update websocket close codes to comply with RFC
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
7a33cef27e
Updated iOS message delivery.
...
1) Use WebSockets for delivery if a client is connected.
2) If a client isn't connected, write to a redis queue and send
an APN push.
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
b433b9c879
Upgrade to dropwizard 0.7.
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
98d277368f
Final migration step, remove identity_key column from keys table.
2014-06-25 21:51:22 -07:00
Moxie Marlinspike
ba05e577ae
Treat account object as authoritative source for identity keys.
...
Step 3 in migration.
2014-06-25 21:26:25 -07:00
Moxie Marlinspike
0c5da1cc47
Schema migration for identity keys.
2014-06-25 18:55:26 -07:00
Moxie Marlinspike
437eb8de37
Write identity key into 'account' object.
...
This is the beginning of a migration to storing one identity
key per account, instead of the braindead duplication we're
doing now. Part one of a two-part deployment in the schema
migration process.
2014-06-25 11:34:54 -07:00
Moxie Marlinspike
f14c181840
Add host system metrics.
2014-04-12 14:14:18 -07:00
Moxie Marlinspike
6913e4dfd2
Add contacts histogram and directory controller test.
2014-04-04 20:19:12 -07:00
Moxie Marlinspike
aea3f299a0
JSON metrics reporting.
2014-03-19 14:31:31 -07:00
Moxie Marlinspike
b263f47826
Support for querying PreKey meta-information.
2014-03-18 18:46:00 -07:00
Moxie Marlinspike
a63cdc76b0
Disallow registration from clients registered on another relay.
2014-02-25 17:04:46 -08:00
Moxie Marlinspike
129e372613
Fix for federated message flow to support source IDs.
2014-02-23 18:24:48 -08:00
Moxie Marlinspike
53de38fc06
Directory update bug fix.
2014-02-21 11:34:43 -08:00
Moxie Marlinspike
67e5794722
Support DataDog Reporting.
2014-02-21 09:14:05 -08:00
Moxie Marlinspike
f4ecb5d7be
Add support for "registrationId" session enforcement.
2014-02-20 09:32:42 -08:00
Moxie Marlinspike
35e212a30f
Make migration more sane.
2014-02-13 16:56:08 -08:00
Moxie Marlinspike
a6463df5bb
Make WebSocket optional, disabled by default. Add tests.
2014-02-12 14:39:45 -08:00
Moxie Marlinspike
a9994ef5aa
Fix IncomingMessage requirements.
2014-02-03 11:51:22 -08:00
Moxie Marlinspike
6e0ae70f02
Fixes for some multi-device bugs.
2014-02-02 16:44:02 -08:00
Moxie Marlinspike
a0889130e5
Include device source and destination
2014-02-02 12:10:25 -08:00
Moxie Marlinspike
8e763f62f5
Require exact device id match on message deliver.
2014-01-24 16:44:31 -08:00
Moxie Marlinspike
866f8bf1ef
basic websocket test
2014-01-24 16:07:32 -08:00
Moxie Marlinspike
7bb505db4c
Refactor WebSocket support to use Redis for pubsub communication.
2014-01-24 12:33:40 -08:00
Moxie Marlinspike
519f982604
Add device limiters
2014-01-19 09:37:55 -08:00
Moxie Marlinspike
2f85cd214e
Pass non-success response codes through federated client.
2014-01-19 09:32:45 -08:00
Moxie Marlinspike
74f71fd8a6
Initial multi device support refactoring.
...
1) Store account data as a json type, which includes all
devices in a single object.
2) Simplify message delivery logic.
3) Make federated calls a pass through to standard controllers.
4) Simplify key retrieval logic.
2014-01-18 23:45:07 -08:00
Matt Corallo
6f9226dcf9
One query to get set of accounts and long-existing logic error.
2014-01-11 17:40:00 -10:00
Matt Corallo
eedaa8b3f4
Simplify message handling by returning early and throwing out maps
2014-01-11 16:30:37 -10:00
Matt Corallo
d3830a7fd4
Split Account into Device and Account definitions.
2014-01-11 13:59:49 -10:00