Commit Graph

74 Commits

Author SHA1 Message Date
Paul "LeoNerd" Evans 65f1b3c976 Document the return type of getRequest() 2016-11-02 18:04:00 +00:00
Paul "LeoNerd" Evans 4529578cd6 Make a handy shortcut for SDK users to provide request wrapping functions in a neat stack 2016-11-02 18:02:02 +00:00
Paul "LeoNerd" Evans 6769c96942 Add a method for querying the js-sdk's current 'request' function in case people want to wrap it 2016-11-02 17:55:23 +00:00
Richard van der Hoff de7061184b Utility to help with interactive auth 2016-10-12 08:27:53 +01:00
Matthew Hodgson 1bda527e3d export EventTimelineSet 2016-09-06 01:04:23 +01:00
Richard van der Hoff b4f22310ea Reset megolm session when people join/leave the room 2016-08-26 11:24:59 +01:00
Richard van der Hoff 2c9f8ba598 Factor Olm encryption/decryption out to new classes
- to make way for alternative encryption algorithms. We now store an encryption
object for each room, rather than referring to sessionstore on each event.

Also a little light tidying to the jsdocs.
2016-08-16 15:12:28 +01:00
Richard van der Hoff b1e2090eef TimelineWindow object
A handy thing for tracking a window into a room timeline

Could really do with some unit tests... sorry.
2016-01-27 09:53:15 +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
Matthew Hodgson 446faed9b5 copyrights please... 2016-01-07 04:15:38 +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 86a162c818 Add filter UTs and fix bugs 2015-12-08 15:39:55 +00:00
Kegan Dougal 1987726a95 Add initial v2 filter impl 2015-12-08 15:23:09 +00:00
Kegan Dougal 2f9958cca9 JSDoc linkify 2015-10-19 14:37:17 +01:00
Kegan Dougal 551721b22e More WIP docs 2015-07-28 11:53:07 +01: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 ea1c315aa8 Enable crypto if olm is present 2015-07-23 10:03:20 +01:00
Mark Haines 58e44a2fc3 Disable end-to-end crypto 2015-07-23 09:30:50 +01:00
Mark Haines f079e021a2 Line too long 2015-07-21 17:41:05 +01:00
Mark Haines 65d64bf223 Merge remote-tracking branch 'origin/develop' into markjh/end_to_end
Conflicts:
	lib/client.js
	lib/matrix.js
2015-07-20 10:43:23 +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 0ef20faff7 Add JSDoc; Add createNewMatrixCall to globals. 2015-07-13 17:11:37 +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 6078100465 Export LocalStorageStore class. Throw if 'localStorage' isn't defined. 2015-06-26 15:24:55 +01:00
Kegan Dougal 2f78ceb6fc Design the API for the scheduler and hook MatrixClient up to it.
Scheduler itself still needs internal impl.
2015-06-19 15:50:05 +01:00
Kegan Dougal 1e3162128a Shelve scheduler queue work. Add processFn. 2015-06-18 13:56:46 +01:00
Kegan Dougal 18a3ce415c Add _queues to MatrixScheduler. 2015-06-18 11:49:34 +01:00
Kegan Dougal 4810d04257 Add stub MatrixScheduler. 2015-06-18 10:07:44 +01:00
Kegan Dougal 9cb37fbe4f Actually allow MatrixClient to not have a store. Update jsdoc. 2015-06-18 09:59:02 +01:00
Kegan Dougal d151ac49f2 Mark events which fail to send. 2015-06-18 09:32:04 +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 7ce3a781f3 Add Room, RoomState and RoomMember classes. 2015-06-08 11:47:15 +01:00
Kegan Dougal 6f4b600c0b Appease closure linter. 2015-06-05 14:54:06 +01:00
Kegan Dougal 735eefcb6d Bug fixes in data store. 2015-06-05 14:51:10 +01:00
Kegan Dougal f27c7f203d Document the deal with the request function. 2015-06-05 14:29:25 +01:00
Kegan Dougal fce4d5d1d6 Add MatrixError class. More jsdoc voodoo to get things looking right. 2015-06-05 11:28:28 +01:00
Kegan Dougal 051f3c42b7 Add more jsdoc. 2015-06-04 17:08:40 +01:00
Kegan Dougal 7ab3e25218 Add @module docs. Remove browser-build.sh
Add @links for HTML output. Replace browser-build.sh with inline commands
in package.json so building will work on non-unix machines. Update README.
2015-06-04 16:34:00 +01:00
Kegan Dougal 31ffdf8a37 Style checks and more jsdoc. 2015-06-04 16:02:08 +01:00
Kegan Dougal a95f9d3717 Make MatrixHttpApi a generic API interface; move specifics to MatrixClient.
Add a utils file to store common operations like map() and encodeParams().
Modify MatrixClient and MatrixHttpApi to accepts opts as constructors.
2015-06-04 15:39:36 +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
Kegan Dougal 5a16986014 Add missing jsdoc. 2015-06-03 16:18:30 +01:00
Kegan Dougal 9b4ba0afe8 Redo build process for browsers and node. Update examples.
We now rely on browserify for building browser-specific versions of the JS
SDK. This can be initiated by running 'npm run build-js'. Node versions are
unaffected.
2015-06-03 15:51:48 +01:00
Kegan Dougal bdaad5b940 Fix up stylistic warnings. 2015-06-03 10:37:41 +01:00
Kegan Dougal 67931f05ce Fix up jshint warnings. 2015-06-03 10:26:12 +01:00
Kegsay e61830c2b0 Merge pull request #4 from matrix-org/mxstore
Experimental data store layer to aid tracking client state
2015-06-03 09:57:02 +01:00
Matthew Hodgson be7d6be691 todo 2015-05-26 23:23:30 +01:00
Matthew Hodgson fe82a8631e fix getStateEvent to require an explicit stateKey 2015-05-26 23:13:41 +01:00
Matthew Hodgson 88bed0cc75 more jsdoc 2015-05-26 00:36:38 +01:00
Matthew Hodgson e21a144313 resolve kegan's PR review feedback 2015-05-26 00:19:32 +01:00