Commit graph

91 commits

Author SHA1 Message Date
lilia
80d32103d1 Clear session store when re-registering
When we re-register, our deviceId might change, which makes our sessions
are no longer valid since the recipient will see us as a new device.

Fixes #388
2015-11-04 13:52:47 -08:00
lilia
69bbaac3b9 Fix conversation model test
// FREEBIE
2015-10-02 15:13:13 -07:00
lilia
87ce3241c8 Remove script-tag for nonexistant test
// FREEBIE
2015-09-17 15:25:13 -07:00
lilia
78d7296f84 Fix tests
// FREEBIE
2015-09-17 11:40:42 -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
17e515f886 Add identity key conflict tests 2015-07-22 12:48:08 -07:00
lilia
9a4a91b5b5 Fix avatar test 2015-06-19 12:03:37 -07:00
lilia
a2abfe38a4 Fix tests 2015-05-26 13:43:54 -07:00
lilia
029c9754f0 Fix tests 2015-05-15 11:39:23 -07:00
lilia
915612114b Remove general get/put/remove methods from AxolotlStore 2015-05-06 18:14:32 -07:00
lilia
d0e262d7cb AxolotlStore stores groups in indexeddb 2015-05-06 17:49:31 -07:00
lilia
f413f03a6b Add getDeviceIds to axolotlstore
And add tests for getDeviceIds and removeAllSessions
2015-05-05 17:44:58 -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
Tara Vancil
074bb66a4c Add tests for messages model.
Closes #222
2015-04-22 13:45:32 -07:00
lilia
5a46300581 Reorder database.js include in test 2015-04-15 18:11:06 -07:00
lilia
026f110d36 Delete the database once, before tests run 2015-04-15 18:02:44 -07:00
Tara Vancil
d65e0e5eda Add tests for message and conversation models
Closes #218
2015-03-25 13:45:52 -07:00
lilia
c526dbda5f Set up production build task
`grunt copy`

Closes #191
2015-03-19 18:34:56 -07:00
lilia
254131488e Render emoji in conversation and inbox views. 2015-03-10 18:15:31 -07:00
lilia
1321a90667 Rename Whisper.View#attributes
Avoid colliding with Backbone.View attributes, which is a list of attrs
to set on the html element for a view.
2015-03-06 17:05:36 -08:00
lilia
dc1b09f59d Auto-link urls in message bodies
And watch out for xss.

Closes #187
2015-03-06 17:01:04 -08:00
lilia
fc6c8c0f3e Fix tests 2015-03-05 16:51:53 -08:00
lilia
1bb480f6ea DRY up a common view pattern
Define a Whisper.View base class that automatically parses and renders
templates and attributes defined by the subclass. This saves us a good
number of lines of code as well as some marginal memory overhead, since
we are no longer saving per-instance copies of template strings.
2015-03-05 15:36:35 -08:00
lilia
4cefd17ac6 Remove unused view 2015-03-03 10:55:04 -08:00
lilia
e96aa2f06e Remove obsolete script tags
For the recently deleted notifications.js
2015-02-23 11:57:57 -08:00
lilia
90140556e4 Fix tests 2015-02-12 13:21:17 -08:00
lilia
711e211e20 Remove bootstrap tagsinput 2015-02-12 13:21:16 -08:00
lilia
d107c3b839 Fix tests 2015-02-11 17:38:02 -08:00
lilia
55802f2087 Remove obsolete note on test page
Actually this page totally works from file:// now.
2015-02-11 17:37:59 -08:00
Matt Corallo
e7f3e52b6c Remove NaCL! 2015-01-14 11:39:36 -10:00
Matt Corallo
5785f4033c Compile curve25519/webcrypto into libtextsecure.js 2015-01-14 09:35:57 -10:00
Matt Corallo
899d756469 Split tests between libtextsecure and main 2015-01-14 09:35:57 -10:00
Matt Corallo
8ad1a38b5b Move js files around for libtextsecure split 2015-01-14 09:35:57 -10:00
Matt Corallo
444b765dfc Remove unused function in _test.js 2015-01-14 09:35:57 -10:00
Matt Corallo
fb03879d02 Re-add v3 testvectors with fixed sauce 2015-01-12 23:20:06 -10:00
lilia
5c2006e159 Fix build: Revert "Update some of the testvectors to v3"
This reverts commit 33429bd6f7.
2015-01-12 22:29:23 -10:00
Matt Corallo
33429bd6f7 Update some of the testvectors to v3 2015-01-12 21:34:12 -10:00
Matt Corallo
2b0866ee1f Bring protocol_test back in-line with new APIs 2015-01-12 21:34:12 -10:00
lilia
3d6c251fd1 Group avatars 2015-01-11 01:27:22 -10:00
lilia
d52db8fe6f Render group updates
Not pretty, but it works. Also allows for later localization.
Copy/behavior is borrowed from the Android client.

Closes #104
Fixes #65
2015-01-10 08:08:20 -10:00
Matt Corallo
2d41385369 Remove last \t in crypto_test.js 2015-01-06 14:47:39 -08:00
Matt Corallo
2c781e5b62 s/\t/ /g in test/index.html 2015-01-06 14:46:33 -08:00
Matt Corallo
28aa0a5508 s/\t/ /g in fake_api.js 2015-01-06 14:46:23 -08:00
Matt Corallo
1f8b8cd0ea s/\t/ /g in testvectors.js 2015-01-06 14:44:25 -08:00
lilia
1a4811fcef Fix tests 2014-12-19 17:39:40 -08:00
lilia
4a401f07f3 Rewrite ReplayableErrors
ReplayableErrors make it easy for the frontend to handle identity key
errors by wrapping the necessary steps into one convenient little
replay() callback function.

The frontend remains agnostic to what those steps are. It just calls
replay() once the user has acknowledged the key change.

The protocol layer is responsible for registering the callbacks needed
by the IncomingIdentityKeyError and OutgoingIdentityKeyError.
2014-12-18 20:00:14 -08:00
Daniel Reichert
46ec7c966f Add test coverage of isEqual function 2014-12-03 03:40:29 -08:00
lilia
7b23e24b71 Add stringview license info and script tags
Closes #94
2014-12-03 01:36:10 -08:00
lilia
ee0d7edc0b WebSocket-Resources / websocket refactor
This commit provides the javascript complement to
[WebSocket-Resources](https://github.com/WhisperSystems/WebSocket-Resources),
allowing us to use a bi-directional request-response framework over
websockets.

See websocket-resources.js and websocket-resources_test.js
for usage details.

Along the way I also factored the websocket keepalive and reconnect
logic into its own file/wrapper object.
2014-11-29 11:43:30 -08:00
lilia
bf22da209f Fix tests 2014-11-24 19:25:03 -08:00