Richard van der Hoff
832559926f
Fix the ed25519 key checking
...
Finish plumbing in the Ed25519 key checks. Make sure we store the claimed key
correctly in the megolm sessions, and keep them as a separate field in
MatrixEvent rather than stuffing them into _clearEvent
2016-09-20 20:42:08 +01:00
Mark Haines
905059d6da
More comments explaining the keysClaimed/keysProved properties
2016-09-16 15:42:02 +01:00
Mark Haines
1feb7fc0ba
Fix copy+paste
2016-09-16 15:32:46 +01:00
Mark Haines
c2a40572a5
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:30:22 +01:00
Matthew Hodgson
0633d7d3f6
track raw displayname on user objects
2016-09-16 03:18:47 +01:00
Mark Haines
45ed0884df
Document return type
2016-09-15 16:42:40 +01:00
Mark Haines
bde6a171f6
Add getKeysProved and getKeysClaimed methods to MatrixEvent.
...
These list the keys that sender of the event must have ownership
of and the keys of that the sender claims ownership of.
All olm and megolm messages prove ownership of a curve25519 key.
All new olm and megolm message will now claim ownership of a
ed25519 key.
This allows us to detect if an attacker claims ownership of a curve25519
key they don't own when advertising their device keys, because when we
receive an event from the original user it will have a different ed25519 key
to the attackers.
2016-09-15 16:26:43 +01:00
Matthew Hodgson
85b2e5d758
fix refactoring bug; emit timelineReset after updating _liveTimeline
2016-09-11 03:23:43 +01:00
Matthew Hodgson
eef03882ad
don't forget to emit timelineResets for normal room resets
2016-09-11 03:23:15 +01:00
Matthew Hodgson
e614e17a71
correctly notify when timelineSets get reset
2016-09-10 10:44:48 +01:00
Matthew Hodgson
b69f6cf70a
don't double-add events in Room.addEventsToTimeline
...
also, ignore notif events from initialSync as their time ordering is wrong
2016-09-10 00:56:37 +01:00
Matthew Hodgson
bd9e3e5794
only call setEventMetadata on unfiltered timelineSets
2016-09-09 17:42:24 +01:00
Matthew Hodgson
75b6ebf287
revert comment position
2016-09-09 16:35:38 +01:00
Matthew Hodgson
d480b6cf3e
remove unnecessary getUnfilteredTimelineSet()
2016-09-09 16:06:10 +01:00
Matthew Hodgson
9882fed6d7
Merge branch 'develop' into matthew/filtered-timelines
2016-09-09 11:12:42 +01:00
Matthew Hodgson
c6d358a6f3
doc Room.timeline event correctly
2016-09-09 02:27:51 +01:00
Matthew Hodgson
2e4c362ccd
make /notification pagination actually work
2016-09-09 02:08:39 +01:00
Matthew Hodgson
f959e1a134
incorporate PR feedback
2016-09-08 22:38:39 +01:00
Matthew Hodgson
7dfc4a404c
initial PR fixes
2016-09-08 17:51:14 +01:00
Matthew Hodgson
4d88736d13
add much-needed room.getUnfilteredTimelineSet() helper
2016-09-08 14:37:26 +01:00
Richard van der Hoff
cacafb461d
Share the current ratchet with new members
...
When a new member joins the room, we don't need to reset the megolm session;
instead we can just share the current state with the new user.
2016-09-08 14:20:54 +01:00
Matthew Hodgson
e4ec2aa55f
maintain the global notification timeline set.
...
* track notifTimelineSet on MatrixClient
* stop Rooms from tracking notifTimelineSet as they don't need to
* Implement client.paginateNotifTimelineSet
* make Events store their pushActions properly
* insert live notifs directly into the notifTimelineSet in /sync, ordering by origin_server_ts.
2016-09-08 02:57:49 +01:00
Matthew Hodgson
fc495a5f1e
fix lint
2016-09-08 00:18:17 +01:00
Matthew Hodgson
91f8df8d19
make EventTimeline take an EventTimelineSet
2016-09-07 21:17:06 +01:00
Matthew Hodgson
5e583d3c50
populate up filtered timelineSets vaguely correctly
2016-09-07 19:45:30 +01:00
Matthew Hodgson
c4995bd153
fix filtering
2016-09-07 02:17:03 +01:00
Matthew Hodgson
888fbe3549
fix some lint
2016-09-05 02:44:46 +01:00
Matthew Hodgson
2daa1b6007
change TimelineWindow to take a timelineSet rather than a Room
2016-09-04 13:57:56 +01:00
Matthew Hodgson
4ff2ad9fac
s/EventTimelineList/EventTimelineSet/g at vdh's req
2016-09-03 22:27:29 +01:00
Matthew Hodgson
ba06e8091f
Merge branch 'develop' into matthew/filtered-timelines
2016-09-03 13:33:15 +01:00
Matthew Hodgson
c791881c87
fix lint
2016-08-31 16:31:49 +01:00
Matthew Hodgson
d25d60f0f0
make the tests pass again
2016-08-30 23:34:11 +01:00
Kegsay
d356e722da
Make example actually work
2016-08-30 15:11:06 +01:00
Richard van der Hoff
84e2fc91ae
Merge pull request #183 from matrix-org/rav/reset_megolm_on_member_change
...
Reset megolm session when people join/leave the room
2016-08-30 14:58:18 +01:00
Richard van der Hoff
e25112ad35
Fix exceptions when dealing with redactions
...
When we got a redaction event, we were adding the entire (circular) MatrixEvent
object for the redaction to the redacted event, which would then cause
exceptions down the line (particularly when dealing with gappy timelines).
We should only be adding the raw event.
Fixes (hopefully) https://github.com/vector-im/vector-web/issues/1389 .
2016-08-30 14:30:12 +01:00
Matthew Hodgson
0848d4ed10
reemit Room.timeline events correctly
2016-08-30 01:13:32 +01:00
Matthew Hodgson
7514aea813
make most things work other than Room.timeline firing
2016-08-30 01:11:47 +01:00
Matthew Hodgson
58031ab21d
fix things until they almost work again...
2016-08-30 00:36:52 +01:00
Matthew Hodgson
c1c2ca3ec1
tweak doc; make it build
2016-08-29 23:18:19 +01:00
Matthew Hodgson
b863a363da
WIP refactor
2016-08-29 21:08:35 +01:00
Matthew Hodgson
b42db46abd
WIP refactor
2016-08-29 21:06:53 +01:00
Matthew Hodgson
751ce421cd
Merge branch 'develop' into matthew/filtered-timelines
2016-08-28 18:49:54 +01:00
Richard van der Hoff
b4f22310ea
Reset megolm session when people join/leave the room
2016-08-26 11:24:59 +01:00
Matthew Hodgson
dd5878015a
WIP filtered timelines
2016-08-23 14:31:47 +01:00
Richard van der Hoff
1159e0911f
support for unpacking megolm keys
...
This is incredibly hacky at the moment, pending the arrival of ephemeral
events, but it kinda works.
2016-08-22 18:24:46 +01:00
Richard van der Hoff
32fa51818b
Make encryption asynchronous
...
We're going to need to send out a load of messages to distribute the megolm
keys; as a first step, deal with the asynchronicity this will require.
2016-08-19 16:18:33 +01:00
David Baker
a25315a994
Merge pull request #167 from Half-Shot/presence_status
...
Added ability to set and get status_msg for presence.
2016-08-18 11:18:03 +01:00
Richard van der Hoff
2c9f8ba598
Factor Olm encryption/decryption out to new classes
...
- to make way for alternative encryption algorithms. We now store an encryption
object for each room, rather than referring to sessionstore on each event.
Also a little light tidying to the jsdocs.
2016-08-16 15:12:28 +01:00
Will Hunt
1bd5d12665
Fixed setPresence opts
2016-08-11 13:39:27 +01:00
Will Hunt
02de5e96ba
Add presenceStatusMsg to User
2016-08-11 12:55:07 +01:00