Fedor Indutny
94d2c56ab9
Introduce in-memory transactions for sessions
2021-05-20 17:37:09 -07:00
Scott Nonnenberg
4eb49ff304
Fix a few issues with linking a new Desktop instance
2021-01-19 17:35:07 -08:00
Scott Nonnenberg
26884432a2
Update TypeScript, Prettier and typescript-eslint for new TypeScript 3.8 syntax
2020-11-23 14:45:44 -05:00
Evan Hahn
8bfaf598af
Add license headers across the project
2020-11-04 13:03:13 -06:00
Ken Powers
a90246cbe5
Passive UUID support
...
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-03-24 16:59:35 -07:00
Scott Nonnenberg
0c09f9620f
Improve message download performance
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
5b54c9554e
Remove groups table, conversation is single source of truth
2019-02-13 16:04:58 -08:00
Scott Nonnenberg
041fe4be05
Remove JSON column and Backbone Model for unprocessed
2019-02-13 16:04:58 -08:00
Scott Nonnenberg
43e5d16020
Support for web socket communication with no signaling key
2019-01-14 10:32:12 -08:00
Scott Nonnenberg
47f834cf5c
Encrypt device name on account create, on first launch if needed
2019-01-04 12:21:26 -08:00
Scott Nonnenberg
1755e0adfd
Move all remaining stores to SQLCipher
2018-10-31 17:36:51 -07:00
Scott Nonnenberg
2cfbfe477a
Better handle large numbers of messages in cache on startup
2018-10-01 18:18:37 -07:00
Scott Nonnenberg
7983300f4a
Use base64 strings for incoming message cache instead of binary
2018-08-10 13:13:25 -07:00
Scott Nonnenberg
0774ba2903
Eslintify all of libtextsecure
2018-07-21 14:52:43 -07:00
Scott Nonnenberg
a0ed993b42
Now we've got everything prettified!
2018-05-02 13:40:57 -07:00
Daniel Gasienica
95321e5d3e
Remove Vim mode lines
2018-04-30 16:53:34 -04:00
Scott Nonnenberg
bd0050b6c6
Cache messages on receipt, remove from cache when processed
...
FREEBIE
2017-08-04 12:03:25 -07:00
lilia
89a7875747
Remove unused function
...
This was supposed to solve the problem of losing group state after a reinstall
by inspecting member registration ids and pre-emptively sending group updates to
those who appear newly re-registered, but it has been unused since 6123c419
.
Nowadays there's a protocol for requesting lost group state from other members.
// FREEBIE
2017-05-16 15:37:05 -07:00
haffenloher
04f0142b23
Ignore missing members in incoming group updates
...
Previously, updateNumbers would throw an Error, so the whole group
update was discarded.
Signal-Android handles this the same way in
GroupMessageProcessor.handleGroupUpdate().
Closes #1056
2017-02-08 16:46:09 -08:00
lilia
02ca0a09ac
Remove dead code
2016-10-05 21:11:58 +09:00
lilia
f8e176fd40
Dedupe methods
...
Define textsecure.crypto in terms of libsignal.crypto.
// FREEBIE
2016-05-18 13:15:57 -07:00
lilia
58452066aa
Move device storage methods to outgoing message
...
This is the only place they are called.
// FREEBIE
2016-05-18 13:15:56 -07:00
lilia
daae664965
Remove unused function
...
// FREEBIE
2016-05-18 13:15:56 -07:00
lilia
7939b6ae98
Remove hasOpenSession from protocol_wrapper
...
// FREEBIE
2016-05-14 23:26:33 -07:00
lilia
843036f0ce
Remove getRegistrationId and encryptMessageFor from protocol_wrapper
...
We can now use protocol classes like SessionCipher directly because it
supports per-device read/write serialization internally.
// FREEBIE
2016-05-14 23:26:31 -07:00
lilia
56238136ca
Remove trivial wrapper method
...
// FREEBIE
2016-05-10 19:38:44 -07:00
lilia
78cdc0cb52
Remove tempKeys
...
Now that we simply establish and save a session via SessionBuilder
rather than saving the keys to pass in during encrypt, we can stop
caching them in memory in between the identity key check and the
encryption step.
// FREEBIE
2016-05-10 19:38:42 -07:00
lilia
9f871db48a
Update libsignal-protocol / Update prekey format
...
Integrates change in prekey object formatting, which now matches more
conveniently with the representation rendered by the server.
// FREEBIE
2016-05-04 00:33:05 -07:00
lilia
1d60dc38fb
Rename axolotl storage
...
// FREEBIE
2016-04-22 13:43:30 -07:00
lilia
1fe5d63015
Update protocol libs
...
Rename storage functions
// FREEBIE
2016-04-21 18:36:16 -07:00
lilia
adf8445b85
Populate registrationIds on deviceObjects
...
Saves us from doing so later.
// FREEBIE
2015-11-24 17:05:23 -08:00
lilia
a52d35bb1b
Refactor and fixup key requests
...
Fix a bad loop scope bug in getKeysForNumber by using forEach.
Refactor the initial process of establishing key material for devices
that do not have open sessions.
// FREEBIE
2015-11-03 16:22:26 -08:00
lilia
b18cfd75de
Check for device keys in memory before requesting more
...
// FREEBIE
2015-11-02 14:07:52 -08:00
lilia
9872b59355
Simplify filter predicate
...
Untangle a double negative to make this line shorter and easier to read.
// FREEBIE
2015-10-01 21:11:41 -07:00
lilia
0fa1069a93
Don't throw on duplicate members in a group update
...
Fixes #364
// FREEBIE
2015-10-01 21:11:41 -07:00
lilia
ce49d14d85
Fix leave group bug
...
This one's been around since forever, but only manifests when someone
leaves the group and comes back. In that case we fail to reinit their
numberRegistrationId object, which causes a npe when we try to send
send them group messages.
Affected parties must ask their fickle friends to leave/join again.
// FREEBIE
2015-09-21 11:00:12 -07:00
lilia
f764445c86
Remove erroneous license file and headers
...
We only use GPLV3 around here.
// FREEBIE
2015-09-07 14:58:42 -07:00
lilia
27016e1919
Let textsecure devices throw on identity key change
...
Restore error format, accidentally removed in 43d6efcd
// FREEBIE
2015-07-21 15:50:11 -07:00
lilia
db31835f68
Handle group sync for existing groups
...
// FREEBIE
2015-06-25 13:24:32 -07:00
lilia
f32ff58953
Add support for device name
2015-06-25 13:24:30 -07:00
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
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
f774047935
Make libtextsecure group storage asynchronous
2015-05-06 13:11:12 -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
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
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