71 Commits

Author SHA1 Message Date
Kegan Dougal cde948814a Linting (jsdoc) 2015-10-13 10:20:38 +01:00
Kegan Dougal 2bb65fe644 Add RoomState.getLastModifiedTime() and JSDoc 2015-10-13 10:18:01 +01:00
Kegan Dougal 1260dcee76 Add User.getLastModifiedTime() 2015-10-13 10:11:22 +01:00
Kegan Dougal 3baab40bdb Add RoomMember.getLastModifiedTime() 2015-10-13 10:09:38 +01:00
Kegan Dougal 6d6868df73 Mention the user_id of the inviter for invited room names 2015-08-14 17:09:21 +01:00
Mark Haines ae8e01839e Add flag for indicating if an event was encrypted 2015-07-22 11:57:34 +01:00
David Baker 348d3f4ce1 Merge pull request #17 from matrix-org/markjh/end_to_end
Add support for end-to-end using olm
2015-07-21 13:12:01 -07:00
Kegan Dougal 358cdaf167 Fix linting errors 2015-07-21 17:20:35 +01:00
Kegan Dougal 90e778cb84 Handle redactions (both live and historic). 2015-07-21 17:14:11 +01:00
Kegan Dougal 6653d294d9 Re-apply metadata after setStateEvents to correctly apply sender/target props for m.room.member events. 2015-07-21 16:58:14 +01:00
Erik Johnston f716431f65 Make getJoinedUsers call getMembersWithMembership 2015-07-21 15:41:33 +01:00
Erik Johnston 86e73bdd35 Add getMembersWithMembership to get all members with given membership state 2015-07-21 15:31:58 +01:00
Mark Haines 6dae0ef327 Fix the local echo for encrypted events by sending a single event with different content and event type for the wire vs local display 2015-07-21 14:19:24 +01:00
Kegan Dougal 93a104fe4c Fire presence first time if presence event unset. 2015-07-20 11:28:13 +01:00
Matthew Hodgson beb8bff084 placeholder code for defaulting displaynames to userids, except it needs disambiguation logic 2015-07-18 15:40:19 +01:00
Matthew Hodgson 3a344a0138 turn off alias disambiguation, and add a method to grab room avatar urls 2015-07-15 03:53:51 +01:00
Kegan Dougal 8cb973e605 Fix SYJS-16: event.sender is sometimes null for locally sent events. 2015-07-14 12:00:19 +01:00
Kegan Dougal c289c70f27 SYJS-17: Update the core event dict completely before members.
The RoomState needs to be current before higher-level processing as this
processing may depend on the end state rather than the progressive state
(e.g. disambiguating BOTH RoomMember's display names).
2015-07-13 10:53:07 +01:00
Matthew Hodgson f75453d5d5 ignore parted users when naming rooms 2015-07-08 14:55:08 +01:00
David Baker f29f2a8115 Move getAvatarUrl into the client because it requires an instantiated client to work. Fix bits of client to use opts rather than credentials which doesn't exist. 2015-07-02 18:22:46 +01:00
Kegan Dougal 5691865035 Linting 2015-07-02 17:23:35 +01:00
Kegan Dougal abe00deb65 Add getAvatarUrl() to RoomMember 2015-07-02 17:22:44 +01:00
Kegsay df7bde4257 Merge pull request #10 from matrix-org/push
Push
2015-07-01 18:19:43 +01:00
Kegan Dougal 82de3b6f19 Begin scrollback implementation.
Add Room.storageToken to docs. Add unit test stubs for scrollback function.
Add a basic common-case implementation.
2015-07-01 18:04:59 +01:00
David Baker 753a11ab7f Move push actions method to the client 2015-07-01 14:09:34 +01:00
David Baker c82b2049eb prefix internal var with underscrore 2015-06-29 16:34:33 +01:00
David Baker 53f2f156ca Fix linting errors 2015-06-29 16:09:07 +01:00
David Baker 083a0980eb javascript function syntax #3... 2015-06-29 15:57:20 +01:00
David Baker 1be02a3c3c Port over push rule eveluator from the angular SDK and make it available on MatrixEvent 2015-06-29 15:53:23 +01:00
Kegan Dougal fd0eb0c674 Finish timline integration tests. 2015-06-26 13:53:01 +01:00
Kegan Dougal 3c4bda8580 Add MatrixScheduler.removeEventFromQueue/getQueueForEvent and QUEUED state.
This is to allow the UI to show "queued" on events as well as allow the
removal of events in the queue.
2015-06-26 09:52:52 +01:00
Kegan Dougal 21df000604 Add Room.addEvents UT 2015-06-25 14:00:52 +01:00
Kegan Dougal 1b665c176a Add RoomState UTs 2015-06-24 14:57:04 +01:00
Kegan Dougal d3377e3dea Add RoomMember UTs. Fix disambiguation bug. Add CHANGELOG. 2015-06-24 13:35:19 +01:00
Kegan Dougal bc0e2ad504 Sync room state when joining via client.joinRoom
Does not currently sync state when another device joins.
Update node example app to refresh room list.
2015-06-22 17:50:49 +01:00
Kegan Dougal d151ac49f2 Mark events which fail to send. 2015-06-18 09:32:04 +01:00
Kegan Dougal 8e6eb35dfe Implement local echo.
Mark events being sent via the status property. Update CHANGELOG.
2015-06-17 17:42:12 +01:00
Kegan Dougal f77e8e3bf7 Add User.events.presence property for storing the m.presence event for a user. 2015-06-15 10:20:04 +01:00
Kegan Dougal 94931cdc07 Remove broken function; add RoomMember.events.member property. 2015-06-15 09:49:54 +01:00
Kegan Dougal c6b11fc382 Make Room.calculateRoomName private to avoid confusion with Room.name. 2015-06-15 09:31:46 +01:00
Kegan Dougal 7a02c5d167 Add concept of 'sentinel' RoomMembers which watch state at a particular point in time.
New sentinels are only created when the RoomMember state changes, so we don't
needlessly deep copy RoomMembers f.e. MatrixEvent. Sentinels co-exist with
RoomState.members which are single instances to which listeners can be attached.
This gets the best of both worlds (don't have to keep re-attaching listeners on
member changes, don't have needless memory consumption).
2015-06-12 15:38:02 +01:00
Kegan Dougal 8a844d59ec Get historical display names working on messages.
Accessed via MatrixEvent.sender property. Deep copy the list of state events
from initial sync for old/current RoomState so updating the .sender property
doesn't affect both of them. Reverse the insertion of initial sync MatrixEvents
so state diverges to *earlier* points in time. Add a 'forwardLooking' property
to MatrixEvent to determine which out of 'content' and 'prev_content' entities
should take into account e.g. when determining display names. Finally, always
create new RoomMembers when they are updated in order to prevent corrupting
(read: sharing the same member object) the MatrixEvent.sender property of
existing events in the timeline.
2015-06-12 14:21:24 +01:00
Kegan Dougal 3061b95afe Add getPrevContent function and mark it's situational presence. 2015-06-12 11:26:33 +01:00
Kegan Dougal 71dacb14b1 Add MatrixEvent.sender and .target to pull the right name per message. 2015-06-12 11:05:57 +01:00
Kegan Dougal da7b31cb7e Add Room.getJoinedMembers helper. UX tweaks to example. 2015-06-12 10:49:13 +01:00
Kegan Dougal 8aefad221a Add client.getRooms. Add 'syncComplete' event. Display room invites. 2015-06-11 17:52:52 +01:00
Kegan Dougal 8e45d6b625 Bug fixes on initialSync and RoomMember.userId.
Don't assume that .state and .messages exist in /initialSync results.
Use state_key and not user_id when setting the userId of a RoomMember.
2015-06-11 16:29:36 +01:00
Kegan Dougal 19a5b99dea Add RoomMember and RoomState event emissions with UTs. Hook everything up.
Distinguish between inserts and updates to the members dictionary to allow
listeners to add more hooks to the member before it has been given state.
2015-06-11 14:29:32 +01:00
Kegan Dougal 911ca1d5c5 Implement Room event emissions with UTs.
Shuffle test groupings into EventEmitter and startClient. Add more jsdoc.
2015-06-11 13:22:21 +01:00
Kegan Dougal 4c3e56ad4c Add test for event emitting. Fix reEmit function. 2015-06-11 11:58:31 +01:00