Commit Graph

125 Commits

Author SHA1 Message Date
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
David Baker ad24596d3f Revert c13b180 as it fails lint (creating functions in a loop) 2015-11-09 13:48:05 +00:00
David Baker c13b1800b9 forEach probably nicer here 2015-11-09 10:23:37 +00:00
Matthew Hodgson 53bbabea4f pass event in the Room.tags event 2015-11-07 20:23:09 +00:00
Matthew Hodgson dc7d2698b7 Merge branch 'develop' into matthew/room-tags 2015-11-07 17:25:53 +00:00
Matthew Hodgson 3d4694a92f fix casing of tagName 2015-11-07 17:22:45 +00:00
David Baker 77266fe221 Fix lint errors and make thing that didn't need to be a member function not a member function 2015-11-06 15:26:35 +00:00
David Baker 14a48c1182 Synthesize implicit read receipts in recalculateRoom to make them correct when the room is first loaded. 2015-11-06 15:13:30 +00:00
Kegsay 455ce26741 Merge pull request #40 from matrix-org/kegan/syncing
Syncing bugs/fixes
2015-11-05 14:53:47 +00:00
David Baker d34f8eda1a Merge pull request #41 from matrix-org/implicit_read_receipts
Implicit read receipts
2015-11-05 14:42:48 +00:00
David Baker 483095c3da Fix PR comments 2015-11-05 14:41:35 +00:00
David Baker 856c34016d Fix event removal 2015-11-05 14:13:52 +00:00
David Baker ad80d4f059 fix lint errors 2015-11-05 13:57:21 +00:00
David Baker 0da547a239 Implicit read receipts
* Inject implicit read receipts into the timeline
 * Twiddle local echo a bit to make the implicit receipts match the various different stages of local echo.
2015-11-05 13:39:03 +00:00
David Baker bc512a6e4c Check m.room.name event actually has a name in the content before using it. This should fix the recent disasters with #android being shown as 'undefined' (or crashing vector). 2015-11-04 15:20:25 +00:00
David Baker 904539df58 Fix c+p fail & add unit test 2015-11-04 12:02:02 +00:00
Matthew Hodgson 149ed04a4f fix some review feedback; add initial api for setting & deleting tags; still a WIP 2015-11-04 02:24:36 +00:00
Matthew Hodgson 5a1cc4c2e7 store the tags in the right place 2015-11-03 16:19:52 +00:00
Matthew Hodgson 70536d5676 add support for tracking room tags 2015-11-03 16:05:48 +00:00
David Baker 142ee81e66 Emit events for read receipts 2015-11-03 11:43:52 +00:00
Kegan Dougal 0fb307d09b Use the history length specified in startClient() for room initial syncs. 2015-11-03 10:15:30 +00:00
David Baker c6aac8cbd9 Merge pull request #35 from matrix-org/event_read_up_to
Add event to get last read receipt for a user.
2015-11-02 16:04:16 +00:00
David Baker 1b43bc78d0 Remove unnecessary null check & s/"/'/ 2015-11-02 16:02:48 +00:00
David Baker 083dde3557 Fix doc 2015-11-02 16:00:40 +00:00
David Baker 4adc5f2c85 Also need to check if the event is null 2015-11-02 15:19:29 +00:00
Daniel Wagner-Hall 0b42d85c5b Use double-quotes for consistency 2015-11-02 15:07:47 +00:00
David Baker c4a35020f1 Add event to get last read receipt for a user. 2015-11-02 14:39:10 +00:00
Daniel Wagner-Hall 11f052bcc6 Simplify logic and layout 2015-10-30 14:58:59 +00:00
Matthew Hodgson 4c051202af s/getMembersWithMemership/getMembersWithMembership/g 2015-10-24 01:45:02 +01:00
Kegan Dougal 02b836698c More clarity on cache updating 2015-10-21 14:07:14 +01:00
Kegan Dougal 5888c8a56c Commenting on splice 2015-10-21 13:47:23 +01:00
Kegan Dougal 1cee7bf397 JSDoc 2015-10-21 13:30:32 +01:00
Kegan Dougal cab7a71a94 Change calculating display names from O(n^2) to O(n)
Reduces initial sync times from ~30s to ~1s on accounts with heavily
populated rooms.

The problem was that f.e. RoomMember it would try to calculate the
display name, which involved looping each RoomMember to get their
display name to check for disambiguation. We now cache display names
to user IDs so we don't need to loop every member when disambiguating.
2015-10-21 13:25:23 +01:00
Kegan Dougal 343d63a28a Merge branch 'develop' into room-avatars 2015-10-19 15:33:42 +01:00
Kegsay 0a28d6e950 Merge pull request #26 from matrix-org/invite-room-state
Invite room state
2015-10-19 15:31:45 +01:00
Kegsay 37a8c9bd72 Merge pull request #23 from matrix-org/read_receipts
Receipts
2015-10-19 15:30:23 +01:00
Kegan Dougal 2c213f88d9 Units! Tests! Linting! 2015-10-19 15:24:24 +01:00
Kegan Dougal a236219111 ContentRepo unit tests 2015-10-19 15:00:06 +01:00
Kegan Dougal 2f9958cca9 JSDoc linkify 2015-10-19 14:37:17 +01:00
Kegan Dougal f26154d0ac Add support for m.room.avatar: refactor avatar URLs
BREAKING CHANGE.

Scope each "getAvatarUrl" to be instance methods on the entity it
relates to (Room and RoomMember respectively). By doing this, we
can actually pull out specific state such as the `m.room.avatar`
event more easily rather than keeping it in the global cesspit
of `MatrixClient`.

This was complicated by `getHttpUriForMxc` and `getIdenticonUri`
which were attached to the HTTP API to pull out the `baseUrl` when
crafting the URL. Pull out this dependency out and explicitly pass
it in when crafting the URL. This is trivial to get from
`MatrixClient.getHomeserverUrl()`.
2015-10-19 14:14:34 +01:00
Kegan Dougal 5ae87b7c95 Bug fixes and unit tests 2015-10-16 17:27:05 +01:00