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
Kegan Dougal
865db906e3
Make getUsers() return users for *EEEEEVERYOOOOONE* regardless of presence events
2016-01-19 11:40:08 +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
Kegan Dougal
5fa6f0037f
Cache the third_party_invite token to allow constant time lookups
2016-01-13 15:31:27 +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
Kegan Dougal
e8f77256de
Set the updated .sender and .target props on the event when the event itself updates these props.
2016-01-11 17:35:46 +00:00
Kegan Dougal
51fe73bc27
Return v2 prev_content when calling getPrevContent()
2016-01-11 17:15:52 +00:00
Matthew Hodgson
678d70528e
add a Room.getImplicitRoomName so clients can know what a room would be called if it didn't have an explicit m.room.name state event
2016-01-10 20:02:35 +00:00
David Baker
02b33766ee
Document the order of the room timeline because I can never remember which way round it is.
2016-01-08 20:26:07 +00:00
Matthew Hodgson
387ad09c5f
implement account data
2016-01-08 03:22:08 +00:00
Matthew Hodgson
446faed9b5
copyrights please...
2016-01-07 04:15:38 +00:00
Richard van der Hoff
c669d21af7
Enhancements to search results, and event context implementation
...
This change adds support to the JDK for processing the results of a room
search, as well as back-paginating the results.
It treats each search result as a 'context' object, which can itself be
backwards or forward-paginated.
2016-01-04 12:50:07 +00:00
Kegan Dougal
f48c9175e5
Linting
2015-12-14 14:12:49 +00:00
Kegan Dougal
fcf1abb185
Use v2 transaction IDs to suppress dupes without linear scans of the timeline!
2015-12-14 11:35:50 +00:00
Kegan Dougal
fc6ce20e14
Check unsigned.age for getAge() for v2. Don't spam SYNCING emissions.
2015-12-14 10:27:53 +00:00
Kegan Dougal
243bdd78f4
Handle presence key in /sync
2015-12-09 16:09:47 +00:00
Kegan Dougal
b7ac6a2e33
Add config option to sort pending events to the end of the timeline
2015-12-07 15:36:32 +00:00
Kegan Dougal
d16dfdaee3
Also emit a 'RoomState.members' event for m.room.power_levels
2015-12-04 16:11:13 +00:00
David Baker
7095753410
Don't return non-mxc URLs by default.
2015-11-12 11:57:53 +00:00
David Baker
4d426a3f31
The ts, not the event
2015-11-10 11:58:59 +00:00
David Baker
d7874315c3
Merge pull request #44 from matrix-org/implicit_read_receipts_2
...
Synthesize implicit read receipts in recalculateRoom
2015-11-09 15:08:04 +00:00
David Baker
c95b27683f
Add higher level keys to fake receipts
2015-11-09 15:05:46 +00:00