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