Richard van der Hoff
07bbe358ea
Clean up a codepath that was only used for crypto messages
...
Transmission of encrypted messages was happening somewhat differently to
normal messages. In particular, we weren't copying the 'unsigned' field when we
got the remote-echo, which meant the 'sync' code didn't correctly match up the
echo with the original.
The separate codepath was becoming a thorn in my side, so fix things up to
bring it back in line.
2016-03-15 15:07:26 +00:00
Richard van der Hoff
4ae353d3d3
Raise localEchoUpdated events in more places
...
We need to know about more transitions for local-echo status changes, so raise
localEchoUpdated events for each transition.
Fixes an issue where we weren't turning failed transmissions red, because the
timeline wasn't being updated.
2016-03-10 12:07:27 +00:00
Richard van der Hoff
b4b8b4bfb8
Merge pull request #95 from matrix-org/rav/raise_event_on_remote_echo
...
Emit an event when a local-echo is turned into a proper event
2016-03-08 16:40:03 +00:00
Richard van der Hoff
234c227fd5
Work around confused timelines causing pagination loops
...
Look out for us getting stuck in a loop of using the same pagination token,
and use something else next time.
Hopefully this will fix https://github.com/vector-im/vector-web/issues/1089 .
2016-03-08 15:38:00 +00:00
Richard van der Hoff
78eded3bbd
Emit an event when a local-echo is turned into a proper event
...
We need to trigger an update of the timeline when this happens, so raise an
event for it.
2016-03-08 15:00:19 +00:00
Richard van der Hoff
0034bdf4ad
Set the back-pagination token before raising Room.timelineReset
...
This fixes another race condition on gappy syncs, wherein we weren't
back-paginating back from the start of the gappy sync.
2016-03-01 13:35:22 +00:00
David Baker
48f7aca121
Merge pull request #89 from matrix-org/dbkr/invite_name_from_member_event
...
Use our inviter's member event to get their display name if it exists.
2016-02-29 18:05:27 +00:00
David Baker
76f1d24c7b
Make room name generation slightly more sane and add unit tests fir invite naming.
2016-02-29 13:51:55 +00:00
David Baker
45a3bf63b2
Use our inviter's member event to get their display name if it exists.
2016-02-26 14:11:10 +00:00
Richard van der Hoff
abf908b14f
Fire a 'Room.timelineReset' event when we get a gappy sync
...
We need to reset things at the UI level when we get a gappy sync, so give the
clients something to listen for.
Also add a bunch of tests for that bit of code.
2016-02-25 18:26:11 +00:00
Matthew Hodgson
2150bdc444
fix tests
2016-02-19 17:59:26 +00:00
Matthew Hodgson
5886b3358d
f1x l1nt
2016-02-19 17:56:55 +00:00
Matthew Hodgson
8b887d8559
name 3PID invite rooms better
2016-02-19 17:45:57 +00:00
David Baker
e9f6e41550
Local echos are fake too.
2016-02-19 16:18:29 +00:00
David Baker
2950417f70
Add docs to appease jslint
2016-02-19 15:35:36 +00:00
David Baker
39f641a851
Address PR comments
2016-02-19 15:22:38 +00:00
David Baker
95fff38dbb
Add a param to getEventReadUpTo to have it ignore implicit read receipts. Store real receipts separately to make this work.
2016-02-19 14:42:07 +00:00
Richard van der Hoff
4c6d0a5128
Redactions: only remove the keys that are specced for removal
2016-02-16 16:03:18 +00:00
Richard van der Hoff
5eff278454
Keep redacted events in the timeline
...
Everything gets confused when we remove events from timelines, so keep
redacted events in there, and mark them as redacted instead.
2016-02-16 12:05:13 +00:00
Richard van der Hoff
f3e5e03009
Give precedence to later Read Receipts
...
In order to resolve the conflict between local and remote read-receipts, try to
give precedence to the read-receipt which refers to the most recent event.
Also fix the read-receipt synthesis in _addLiveEvents so that it actually works
(drop the spurious MatrixEvent wrapper), and remove the synthesis in
recalculate() (which appears to be redundant).
2016-02-04 15:35:27 +00:00
Richard van der Hoff
8ee1d17ff7
Fix a bug which made the timelines get confused about local messages
...
Make sure that the timeline index is kept consistent when the id of an event
changes when we receive the remote echo of a message we sent.
2016-02-03 11:56:09 +00:00
Richard van der Hoff
3c2fad7c8d
Merge remote-tracking branch 'origin/develop' into rav/context
2016-01-27 09:49:00 +00:00
Richard van der Hoff
a87cefa035
Replace the boolean args on EventTimeline methods with constants
2016-01-26 22:38:26 +00:00
Richard van der Hoff
a01501b42c
Address a number of review comments.
...
Make sure that room state is copied correctly when resetting the live
timeline.
Also comments and bits.
2016-01-26 18:09:15 +00:00
David Baker
0c3abcccf2
camelCase
2016-01-26 14:11:36 +00:00
David Baker
15e8784daf
Add local echo for read receipts. Fixes https://github.com/vector-im/vector-web/issues/623
2016-01-25 17:49:41 +00:00
Richard van der Hoff
840b8f0bc0
Merge branch 'develop' into rav/context
...
Conflicts:
lib/models/room.js
2016-01-25 10:45:22 +00:00
Kegan Dougal
7bdab05785
Unbreak tests
2016-01-21 17:34:12 +00:00
David Baker
1f1d743678
Merge remote-tracking branch 'origin/develop' into dbkr/new_unread_count_format
2016-01-21 09:50:20 +00:00
Matthew Hodgson
24655ac60e
missing semicolon
2016-01-21 00:02:24 +00:00
Matthew Hodgson
eaf7b03bb1
if we are the only person in a room, call it an 'Empty room' too, given this is how humans see a room if they're the only person in it...
2016-01-20 23:55:09 +00:00
David Baker
a24a9d35c4
Fix PR comments: typos and redundant line
2016-01-20 18:52:32 +00:00
David Baker
b4e4aaff00
Merge branch 'develop' into dbkr/new_unread_count_format
2016-01-20 17:25:54 +00:00
Matthew Hodgson
3a73b54e4a
.name defaults to mxid
2016-01-20 17:22:16 +00:00
David Baker
5ec0fce2a4
style
2016-01-20 17:19:26 +00:00
Matthew Hodgson
8b7497374f
name self-chats by displayname if possible rather than mxid, and name empty-chats as 'Empty room' rather than the fugly '?'
2016-01-20 17:19:13 +00:00
David Baker
8cb180525e
Add getter/setter for unread notif counts.
2016-01-20 17:16:20 +00:00
Kegan Dougal
2a88b8db4e
Improve performance of hasMembershipState to not be stupid
2016-01-20 15:09:35 +00:00
Matthew Hodgson
d6075bb5bd
add an XXX
2016-01-17 23:32:00 +00:00
Richard van der Hoff
e0ddd65922
Address review comments
...
Improve comments and naming.
2016-01-15 23:50:09 +00:00
Richard van der Hoff
e68ab7d54a
Tweak duplicateStrategy code to reduce diff
2016-01-15 13:23:51 +00:00
Richard van der Hoff
706966ffe9
Support for non-contiguous event timelines
...
This provides optional support for fetching old events via the /context API,
and paginating backwards and forwards from them, eventually merging into the
live timeline.
To support it, events are now stored in an EventTimeline, rather than directly
in an array in the Room; the old names are maintained as references for
compatibility.
The feature has to be enabled explicitly, otherwise it would be impossible for
existing clients to back-paginate to the old events after a gappy /sync.
Still TODO here:
* An object which provides a window into the timelines to make them possible to
use. This will be a separate PR.
* Rewrite the 'EventContext' used by the searchRoomEvents API in terms of an
EventTimeline - it is essentially a subset.
2016-01-15 13:19:11 +00:00
Matthew Hodgson
a0df2a70cd
s/getImplicitRoomName/getDefaultRoomName/ # as kegan doesn't like the word 'implicit'
2016-01-13 14:02:26 +00:00
Matthew Hodgson
8810ff2256
merge and add null check
2016-01-13 12:58:46 +00:00
Matthew Hodgson
17efc5163f
Merge branch 'develop' into matthew/roomsettings2
2016-01-13 12:55:30 +00:00
Matthew Hodgson
71abef0117
fix merge conflict
2016-01-13 12:46:47 +00:00
Matthew Hodgson
a79270b8f8
Merge pull request #61 from matrix-org/matthew/accountdata
...
implement account data
2016-01-13 12:43:53 +00:00
Matthew Hodgson
87db054e22
fix jsdoc
2016-01-13 12:43:42 +00:00
Matthew Hodgson
88c7293838
based on PR review, rewrite account_data support to avoid tracking the section that events came from, and instead having /sync results piped into the right bit of the room directly
2016-01-11 19:25:44 +00:00
Matthew Hodgson
57072bc4f4
s/implicit/ignoreRoomNameEvent/ on calculateRoomName
2016-01-11 18:20:26 +00:00