lilia
061d57c95a
Fix string vs number comparison
...
Fix bug in device storage causing duplicate device messages after a 410.
2015-06-04 16:48:34 -07:00
lilia
a9549e2e0f
Fix 410 handling
...
We need to close the existing session with an old registrationId.
2015-06-04 16:48:10 -07:00
lilia
7d08e1132d
Fix close session
2015-06-04 14:48:59 -07:00
lilia
7e8b1319a5
Ignore sync contexts on messages not from ourselves
...
But process the rest of the message normally.
2015-05-20 12:42:13 -07:00
lilia
090cc84452
Do not include destination on group sync messages
2015-05-18 14:40:27 -07:00
lilia
d1bcafad65
Update libaxolotl
2015-05-15 16:30:22 -07:00
lilia
029c9754f0
Fix tests
2015-05-15 11:39:23 -07:00
lilia
704c6ce779
Signaling key is now an array buffer
2015-05-15 11:39:22 -07:00
lilia
d230df5622
Move local identitykey and registrationid to indexeddb
2015-05-15 11:38:14 -07:00
lilia
fe1d78b5fa
Load protobufs asynchronously. Fixes #223
2015-05-15 11:38:14 -07:00
lilia
7799bef86c
Tweak key conflict error messages
...
Be generic, because sometimes it's not TextSecure, but Signal.
2015-05-07 17:43:30 -07:00
lilia
359b4a15a2
Move group storage to axolotl store
...
Add async get/put/removeGroup to axolotl store and let libtextsecure
use it for group state storage.
2015-05-06 17:49:23 -07:00
lilia
748f32022a
Fix up refreshGroup
2015-05-06 13:49:20 -07:00
lilia
f774047935
Make libtextsecure group storage asynchronous
2015-05-06 13:11:12 -07:00
lilia
37c496f4f0
Close the provisioning socket
2015-05-05 17:44:59 -07:00
lilia
43d6efcd9e
Don't save device objects to disk
...
Generate them from session and identity data. Save/delete pending prekey
data in an in-memory store and attach it to outgoing device objects.
2015-05-05 17:44:59 -07:00
lilia
f413f03a6b
Add getDeviceIds to axolotlstore
...
And add tests for getDeviceIds and removeAllSessions
2015-05-05 17:44:58 -07:00
lilia
121671c99f
Store identity keys in indexeddb
...
Let device storage request them from axolotl store rather than storing a
copy.
2015-05-05 17:44:58 -07:00
lilia
7eda48f755
Move Session Storage to indexedDB
2015-05-05 17:44:58 -07:00
lilia
20ebc3f890
Move identity key storage functions to axolotl store
2015-05-05 17:44:58 -07:00
lilia
f38b18ef63
Move Session storage to axolotlstore
2015-05-05 17:44:57 -07:00
lilia
9de1572ba6
Convert all storage.devices methods to be asynchronous
2015-05-05 17:44:57 -07:00
lilia
71715c95bc
Async remove identity
2015-05-05 17:44:57 -07:00
lilia
26f1aa4db5
Async putSessionsForDevice
2015-05-05 17:44:57 -07:00
lilia
666f6baaca
Async getSessionsForNumber
2015-05-05 17:44:56 -07:00
lilia
9e7d8c0a08
Rename textsecure.api and make it internal-only
2015-05-05 17:44:56 -07:00
lilia
45a61780af
Fixup refreshPreKeys and call it whenever a prekey is deleted
2015-05-05 17:44:56 -07:00
lilia
7d0aeac8cb
Use a worker to facilitate key generation
2015-05-05 17:44:55 -07:00
lilia
f465bdddbf
Add textsecure.AccountManager
...
This class should be used for account registration and for refreshing
prekeys for your account.
2015-05-05 17:44:55 -07:00
lilia
a960acacc6
Add textsecure.refreshKeys
...
This helper checks the server for the number of remaining prekeys, then
generates more if there are fewer than 10 remaining.
// FREEBIE
2015-05-05 17:44:55 -07:00
lilia
96eafc7750
Integrate libaxolotl async storage changes
...
* Session records are now opaque strings, so treat them that way:
- no more cross checking identity key and session records
- Move hasOpenSession to axolotl wrapper
- Remote registration ids must be fetched async'ly via protocol wrapper
* Implement async AxolotlStore using textsecure.storage
* Add some db stores and move prekeys and signed keys to indexeddb
* Add storage tests
* Rename identityKey storage key from libaxolotl25519KeyidentityKey to
simply identityKey, since it's no longer hardcoded in libaxolotl
* Rework registration and key-generation, keeping logic in libtextsecure
and rendering in options.js.
* Remove key_worker since workers are handled at the libaxolotl level
now
2015-05-05 17:44:55 -07:00
lilia
8304aa903a
Update libaxololt to a087b9e746e67995f16e077183cc0
2015-05-05 17:44:54 -07:00
lilia
2ff954d2f8
Fix api.js
2015-05-04 15:14:58 -07:00
lilia
e4b49bde51
Add more websocket tests
2015-05-01 13:25:46 -07:00
lilia
cc6a44f35d
Fix tests
2015-05-01 12:13:03 -07:00
lilia
3ea254d0db
Add TextSecureWebSocket tests
2015-04-30 16:59:16 -07:00
lilia
849a407433
Add mock-socket for testing socket stuff
2015-04-30 15:43:11 -07:00
lilia
da34b8e0f8
Rename textsecure.websocket and make it internal-only
2015-04-30 15:07:35 -07:00
lilia
89c24cd2fa
Move throwHumanError to api.js
...
It is only used there.
2015-04-30 12:26:13 -07:00
lilia
36b1e87214
Add textsecure.MessageReceiver
...
Encapsulate the websocket resources and socket setup process in a
friendly OO class. The MessageReceiver constructor expects an instance
of EventTarget on which to fire message events asynchronously. The
provider of the EventTarget can then add/remove listeners as desired.
2015-04-29 16:50:20 -07:00
lilia
37e09da1cc
Remove unsued argument from getDeviceObject
...
Last usage of the `returnIdentityKey` argument was removed in 8b9a16852
.
2015-04-20 17:20:58 -07:00
lilia
bdecf5cc44
Generate key_worker.js
...
Instead of calling importScripts, which is prone to relative path
issues, generate the worker script with everything it needs included.
2015-04-15 15:38:57 -07:00
lilia
7af42a27c5
Fix registerKeys using array indices for key ids
...
preKeys is an array whose indices may or may not be keyId-based. Since
we have an inline keyId property, use that instead.
2015-04-15 15:23:08 -07:00
lilia
bfe23d86aa
Run key generation in a worker
...
Ground work for a smoother registration flow. Overall UX still needs
some polish but at least now we can have a progress gif or animation or
whatever. Also adds the phonenumber-confirmation step as a simple alert
box, which will be replaced with a nice dialogue in a later commit.
2015-03-26 10:49:52 -07:00
Matt Corallo
8b9a168524
Store session information separately
2015-03-25 11:56:28 -07:00
Matt Corallo
e33c6fddda
Do not rely on deviceObject.sessions anywhere in sendmessage
2015-03-25 11:56:27 -07:00
Matt Corallo
6c0f3ff1f0
Move session-storage logic to storage/devices from axolotl_wrapper
2015-03-25 11:56:27 -07:00
Matt Corallo
169097a409
Remove stale comments in axolotl_wrapper
2015-03-25 11:56:26 -07:00
Matt Corallo
89fefe4323
Create a textsecure.storage.impl to be overriden if desired
2015-03-25 11:56:26 -07:00
Matt Corallo
56bffdcfd3
Prefix libaxolotl-stored objects with "libaxolotl"
2015-03-25 11:56:26 -07:00