Hubert Chathi
1faf477537
fix formatting and fix authedRequest usage
2018-08-22 23:58:59 -04:00
Bruno Windels
e3d108454c
fix test
2018-08-22 23:25:37 +02:00
Bruno Windels
482eab0e2a
fix tests
2018-08-15 12:01:26 +02:00
Bruno Windels
07e87915ba
fix and add tests
2018-08-15 12:01:26 +02:00
Bruno Windels
827db37eef
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
864ea749e5
Move /members fetching to room as getEncryptionTargetMembers needs it
2018-08-15 12:01:26 +02:00
Bruno Windels
f261599435
fix lint
2018-08-15 12:00:38 +02:00
Bruno Windels
c0f706a2a2
move userId into room
2018-08-15 12:00:38 +02:00
Bruno Windels
bb490faefe
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
d8f673ed51
make sure invited count cache gets reset when updating member
2018-08-15 11:59:40 +02:00
Bruno Windels
6ce7170cf4
counts from summary api should override count members manually as members might not be complete
2018-08-15 11:59:40 +02:00
Bruno Windels
cf08901d02
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
230a9311a0
actually need to subtract one from join+invite count as that includes the syncing user
2018-08-15 11:59:40 +02:00
Bruno Windels
20b4285849
add some tests for room name based on room summary + fix because it was actually broken
2018-08-15 11:59:40 +02:00
Bruno Windels
d67bdbf088
test accumulating summary fields
2018-08-15 11:59:40 +02:00
Bruno Windels
3a389793ff
fix sync accumulator test to include summary
2018-08-15 11:59:40 +02:00
Bruno Windels
f5ff5dc3e0
Fix name recalculation tests by not relying on mocking
...
I tried keeping the mocking but it would take too much
boilerplate code to make the tests work again, and even more
to write the tests for room name with lazy loading.
Just testing everything with a real implementation is not really
a unit test any more, but proved way easier.
It'll be somewhat annoying these tests will fail if there is
something wrong in roomstate (not room), but that's the trade-off
2018-08-15 11:59:40 +02:00
Bruno Windels
00bf5bdf69
unify member a bit access towards getMember
...
some tests for mock getMember, some for .members
if you use either in the code (as I did for room display name changes)
tests start playing and you play whack-a-mole switching between
both ways of accessing the members in a room.
lets start using one way so mocking becomes easier,
and besides, accessing an object internal members is not the best idea.
2018-08-15 11:59:40 +02:00
Bruno Windels
097e7df7c9
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
5fcf9481b3
fix room not having access to event mapper + tests
2018-08-15 11:59:39 +02:00
Bruno Windels
48c3dcc08a
fix lint & fix and add tests
2018-08-15 11:59:39 +02:00
Bruno Windels
df758b31b7
fix lint
2018-08-15 11:59:39 +02:00
Bruno Windels
9f08bfaa6f
room lazy loading tests + fix
2018-08-15 11:59:39 +02:00
Bruno Windels
198d2c780d
test that modifications to clone'd() room state dont affect the old
2018-08-15 11:59:39 +02:00
Bruno Windels
0234f11914
some tests for room member + state, and some fixes to make them pass
2018-08-15 11:59:39 +02:00
Bruno Windels
9ec6ea3bdf
2, not 3 times
2018-08-15 11:59:39 +02:00
Bruno Windels
1ce580bba3
test lazy loaded info is returned and then discarded when setting a state event
2018-08-15 11:59:39 +02:00
Bruno Windels
1c81a17298
Fix tests
...
getSentinelMember now does return a member (with just the userid) when there is no corresponding member yet.
With lazy loading it's perfectly possible the member is not available, and null breaks continuation in the timeline.
2018-08-15 11:59:39 +02:00
Hubert Chathi
d55618921b
initial implementation of e2e key backup and restore
2018-08-07 23:10:55 -04:00
Bruno Windels
e3e48944e0
add test
2018-07-27 11:49:55 +02:00
David Baker
16c062c069
Start first incremental sync request early ( #629 )
...
* Start first incremental sync request early
So it can run while we process our sync data.
2018-03-16 15:22:06 +00:00
David Baker
a0578efeb9
fix tests
2018-03-08 13:52:48 +00:00
David Baker
bdf6fcb222
Fix tests
2018-02-26 16:53:17 +00:00
David Baker
ec5cfe4ee9
Stop cloning events when adding to state
...
As comment hopefully explains.
On my test account:
Before: 394657 MatrixEvents, 53MB shallow size
After: 198863 MatrixEvents, 27MB shallow size
2018-02-20 16:45:20 +00:00
David Baker
8b649cec8d
All the copyrights
2018-01-18 11:52:27 +00:00
David Baker
27d28b8247
More test fixing
...
Allow localstorage store to take a localstorage impl, make TestClient
pass a cryptostore & fix True/true typo
2018-01-15 16:27:28 +00:00
David Baker
110f43a246
Make DeviceList test pass
...
Includes making saveIfDirty() return a promise in case you care
about when changes got saved (which the test does).
2018-01-15 15:21:39 +00:00
David Baker
e6dd573e8a
Fix test (needs a cryptostore now)
2017-12-06 19:42:01 +00:00
Matthew Hodgson
fb75134179
unbreak tests
2017-11-06 15:17:06 +00:00
Hubert Chathi
8f252992e4
keep track of event ID and timestamp of decrypted messages
...
This is to avoid false positives when detecting replay attacks.
fixes : vector-im/riot-web#3712
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-11 23:27:36 -04:00
Richard van der Hoff
f00558d840
Merge remote-tracking branch 'origin/develop' into rav/async_crypto/1
2017-08-15 18:31:02 +01:00
Richard van der Hoff
38c9a05a0c
Make Event.attemptDecryption return useful promises
...
Even if a decryption attempt is in progress, return a promise which blocks
until the attempt is complete.
2017-08-14 18:38:29 +01:00
Richard van der Hoff
8a0f73bf81
Make some OlmDevice megolm methods async
...
* OlmDevice.hasInboundSessionKeys
* OlmDevice.getInboundGroupSessionKey
The latter means that MegolmDecryption.shareKeysWithDevice takes longer before
it sends out the keyshare, so means the unit test needed an update
2017-08-10 15:01:56 +01:00
Richard van der Hoff
6613ee6b0d
Make crypto.decryptMessage return decryption results
...
... instead of having it call event.setClearData.
The main advantage of this is that it fixes a race condition, wherein apps
could see `event.isDecrypting()` to be true, but in fact the event had been
decrypted (and there was no `Event.decrypted` event on its way).
We're also fixing another race, wherein if the first attempt to decrypt failed,
a call to `attemptDecryption` would race against the first call and a second
attempt to decrypt would never happen.
This also gives a cleaner interface to MatrixEvent, at the expense of making
the `megolm` unit test a bit more hoop-jumpy.
2017-08-10 13:05:35 +01:00
Richard van der Hoff
906bf88450
Merge remote-tracking branch 'origin/develop' into rav/async_crypto/olmlib
2017-08-09 18:11:48 +01:00
Richard van der Hoff
aff32afefa
Make olmlib.encryptMessageForDevice async
2017-08-09 10:46:18 +01:00
Richard van der Hoff
18f75ec61c
make algorithm.hasKeysForKeyRequest async
2017-08-08 18:26:31 +01:00
Richard van der Hoff
8bbf14acbf
Let event decryption be asynchronous
...
Once everything moves to indexeddb, it's going to require callbacks and the
like, so let's make the decrypt API asynchronous in preparation.
2017-07-21 14:41:22 +01:00
David Baker
342f5c01e0
Update tests for new resetLiveTimeline interface
2017-07-19 14:54:18 +01:00
Richard van der Hoff
8b2fdf3a75
Deflake megolm unit test
...
Waiting for 1ms isn't actually good enough. wait for the actual thing we are
actually waiting for.
2017-07-14 15:22:08 +01:00