1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-26 17:03:12 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
Richard van der Hoff
d87e5471fa Refactor the addition of events to rooms
... and add some sanity checks

Two things here:

1. Clean up the Room API for adding new events to the timeline. Where before
we had addEvents and addEventsToTimeline, whose purposes were unclear, we now
have addLiveEvents which must be used for adding events to the end of the live
timeline, and addEventsToTimeline which should be used for pagination (either
back-pagination of the live timeline, or pagination of an old timeline).

2. Add some sanity checks for the live timeline. Today we have seen problems
where somehow the live timeline had gained a forward pagination token, or the
live timeline had got joined to another timeline, leading to much confusion -
and I would like to notice these sooner.
2016-04-14 17:03:25 +01:00
Matthew Hodgson
cfc10fa82d fix invite picker info again... 2016-03-23 12:03:56 +00:00
Matthew Hodgson
b422916452 add to existing users if present, to avoid destroying presence data 2016-03-21 18:15:55 +00:00
Matthew Hodgson
15bc608368 presence no longer returns profile data, so we have to update our store's users based on membership events instead 2016-03-19 01:45:10 +00:00
Kegan Dougal
865db906e3 Make getUsers() return users for *EEEEEVERYOOOOONE* regardless of presence events 2016-01-19 11:40:08 +00:00
Kegan Dougal
14ef9348be Add getUsers() 2016-01-18 12:05:26 +00:00
Matthew Hodgson
446faed9b5 copyrights please... 2016-01-07 04:15:38 +00:00
Kegan Dougal
7e35ef258f Delete the room when it is forgotten and fire a new experimental event 2015-12-16 16:25:09 +00:00
Kegan Dougal
b219836b3e Fix a bunch of integration tests 2015-12-11 12:53:26 +00:00
Kegan Dougal
d6ba39f292 More linting 2015-12-10 15:01:39 +00:00
Kegan Dougal
8576ebce8f Linting 2015-12-10 14:57:13 +00:00
Kegan Dougal
b622960b32 Do all prep for /sync calls
This includes managing filters in localStorage. The /sync response
is not yet parsed.
2015-12-09 15:25:09 +00:00
Kegan Dougal
c65f32f6a6 Add filter integration tests; more bug fixes. 2015-12-08 16:08:04 +00:00
Kegan Dougal
1987726a95 Add initial v2 filter impl 2015-12-08 15:23:09 +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
9993e5dbed Cleanup jsdoc. Allow extra query params to be set on requests (for ASes). 2015-07-28 10:57:05 +01:00
Mark Haines
02c2e88a3e Fix some of the lint warnings 2015-07-21 17:39:11 +01:00
Mark Haines
8e6e1e64c7 Add integration test for the end-to-end crypto 2015-07-17 18:47:34 +01:00
Mark Haines
2ee5977ad2 Start integrating end-to-end into the matrix-client. Add a storage class to store end-to-end sessions. Implement the one-time key upload API, and start sketching out the encryption and decryption functions 2015-07-16 18:21:25 +01:00
Kegan Dougal
4c48990c1f Decorate setItem/getItem to map between Objects and Strings. 2015-07-02 13:27:13 +01:00
Kegan Dougal
df8ec50631 Add storeEvents UTs; fix bugs as a result. 2015-07-02 11:37:50 +01:00
Kegan Dougal
ea738e31ba Add storeEvents impl. 2015-07-02 11:03:50 +01:00
Kegan Dougal
23c3ce92d7 Finish scrollback impl. Add UTs. 2015-07-02 10:13:51 +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
Kegan Dougal
a890bff30f Actually flip the cache bit 2015-07-01 16:39:32 +01:00
Kegan Dougal
9fd847567c Add get/setUser and getRooms with UTs. 2015-07-01 16:38:13 +01:00
Kegan Dougal
732f9dc592 Restructure timeline batches to have high numbers = newest; it's less confusing that way. 2015-07-01 15:28:41 +01:00
Kegan Dougal
22506513b4 Add more webstore unit tests. 2015-07-01 14:20:14 +01:00
Kegan Dougal
994fcceace Add another storeRoom test. Add stub tests for WebStorage. 2015-07-01 12:03:34 +01:00
Kegan Dougal
c8da373ecc Add first cut webstorage implementation. Add very basic test. 2015-06-30 17:56:58 +01:00
Kegan Dougal
388cd3a6da Add init/del structs 2015-06-30 12:00:58 +01:00
Kegan Dougal
aaecda53d6 Add scrollback to store interface 2015-06-30 11:48:49 +01:00
Kegan Dougal
5d5d76d154 Pass a store implementation rather than kind string.
Makes it easier to test.
2015-06-30 11:39:57 +01:00
Kegan Dougal
796afb104b s/localstorage/webstorage/g. Add storage impl notes.
WebStorage is preferred since we can trivially support local or session storage.
Add design notes for persisting rooms.
2015-06-30 11:30:49 +01:00
Kegan Dougal
a476b11f0c Add local storage impl notes 2015-06-29 17:55:11 +01:00
Kegan Dougal
b7975866fa Add getSyncToken and setSyncToken to data store interface.
This allows local storage to hold onto the token across page refreshes.
2015-06-26 15:36:53 +01:00
Kegan Dougal
6078100465 Export LocalStorageStore class. Throw if 'localStorage' isn't defined. 2015-06-26 15:24:55 +01:00
Kegan Dougal
a3a59f4456 Add localstorage store module. 2015-06-26 15:13:04 +01:00
Kegan Dougal
b7ed78b432 Update CHANGELOG. Add StubStore.
Default to a no-op store class to prevent having to constantly check for
MatrixClient.store and other defensive checks which clutters the intent
of the code.
2015-06-23 11:03:08 +01:00
Kegan Dougal
8aefad221a Add client.getRooms. Add 'syncComplete' event. Display room invites. 2015-06-11 17:52:52 +01:00
Kegan Dougal
b2620507fa Remove startClient(callback); Emit 'syncError' and 'event'.
'syncError' event is intended to be used to update the UI to say "connection
lost". Add UTs for 'event' emissions.
2015-06-10 16:19:38 +01:00
Kegan Dougal
f086bcca4c Add User class. Convert store to store/get User objects. 2015-06-09 10:55:26 +01:00
Kegan Dougal
2d00998b61 Move getFriendlyRoomName to Room. Add recalculate() function to cache info. 2015-06-08 16:10:23 +01:00
Kegan Dougal
9fa7fa0487 Shuffle around how events are stored.
Rather than having MatrixInMemoryStore do it all, we make the right object do
the right thing, and keep the store for storing said objects.
2015-06-08 15:43:18 +01:00
Kegan Dougal
735eefcb6d Bug fixes in data store. 2015-06-05 14:51:10 +01:00
Kegan Dougal
051f3c42b7 Add more jsdoc. 2015-06-04 17:08:40 +01:00
Kegan Dougal
d1e51de7ec Split out matrix.js into different files. Glue things back.
Added a models directory. Added store, http-api and client files. Slowly
transitioning to the architecture outlined in SYJS-5.
2015-06-03 17:55:12 +01:00