805d914940
Bump to 0.1.1. Add 'npm run release' script.
2015-06-23 15:42:08 +01:00
de560d1a4a
Update CHANGELOG.md
2015-06-23 15:27:18 +01:00
07d3f43d8b
Refactor terminal app; add /invite and /roominfo.
2015-06-23 15:22:57 +01:00
57914969b8
Add MatrixClient.resendEvent to manually resend an event that was not sent.
...
Bundle txnId as MatrixEvent._txnId instead of exposing it to every place that
happens to need it (since it's so tightly coupled with MatrixEvent)
2015-06-23 14:08:02 +01:00
378c7fd6cb
Update docs
2015-06-23 12:15:41 +01:00
7534f59af2
Hook up the callback fn for scrollback. Update CHANGELOG.
2015-06-23 12:04:43 +01:00
553325d66f
Improve UX on node terminal app.
...
Add auto-complete, history and a prompt prefix.
2015-06-23 11:50:17 +01:00
6737388766
Implement pagination via the scrollback() function. Update CHANGELOG.
2015-06-23 11:36:30 +01:00
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
9c2a2902eb
Fix bug where hibernating laptops fail to restart the event stream.
...
On some devices, the act of hibernating black holes the request so the
success/failure callbacks never fire. This prevents a re-poll as that is done
in the callbacks. To fix this, we add a local timer which, when it fires,
will forcibly do a re-poll. The local timer has a timeout value several
seconds more than the timeout= value (which should've returned by then).
2015-06-23 10:40:53 +01:00
ef77c6f989
Sync room state when another device joins a room.
2015-06-23 10:18:13 +01:00
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
ad70b3d434
Don't set NOT_SENT in the scheduler; the MatrixClient is responsible for this.
2015-06-19 17:19:48 +01:00
002ae08f04
Update CHANGELOG.md
2015-06-19 17:16:38 +01:00
402a648a92
Update list of what the SDK does
2015-06-19 17:15:36 +01:00
756fe4ddcb
Implement MatrixScheduler.
2015-06-19 16:53:28 +01:00
898d16ae76
Update CHANGELOG
2015-06-19 16:07:36 +01:00
18db0d8c02
Emit 'Room' event when the Room is fully populated rather than newly created.
2015-06-19 16:05:13 +01:00
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
8a9f84a4b2
Don't return something which doesn't exist.
2015-06-18 17:49:13 +01:00
1e3162128a
Shelve scheduler queue work. Add processFn.
2015-06-18 13:56:46 +01:00
7e12ea4273
Start gluing MatrixClient and MatrixScheduler.
2015-06-18 12:07:18 +01:00
18a3ce415c
Add _queues to MatrixScheduler.
2015-06-18 11:49:34 +01:00
ca414d1611
Implement rate limiting in the default retry algorithm.
2015-06-18 11:28:17 +01:00
ba56f5f621
Implement MatrixScheduler.
...
Formed of two parts: the retry and queuing functions. Use sensible defaults.
2015-06-18 11:11:07 +01:00
4810d04257
Add stub MatrixScheduler.
2015-06-18 10:07:44 +01:00
8d77edce86
Formatting
2015-06-18 10:01:13 +01:00
9cb37fbe4f
Actually allow MatrixClient to not have a store. Update jsdoc.
2015-06-18 09:59:02 +01:00
d151ac49f2
Mark events which fail to send.
2015-06-18 09:32:04 +01:00
d74a71cc2d
linting and update README.
2015-06-17 17:47:57 +01:00
8e6eb35dfe
Implement local echo.
...
Mark events being sent via the status property. Update CHANGELOG.
2015-06-17 17:42:12 +01:00
ee4d66024a
Update changelog
2015-06-15 10:20:54 +01:00
f77e8e3bf7
Add User.events.presence property for storing the m.presence event for a user.
2015-06-15 10:20:04 +01:00
94931cdc07
Remove broken function; add RoomMember.events.member property.
2015-06-15 09:49:54 +01:00
c6b11fc382
Make Room.calculateRoomName private to avoid confusion with Room.name.
2015-06-15 09:31:46 +01:00
4316a22913
Bump to 0.1.0 - Generate browser (min) version
v0.1.0
2015-06-12 17:17:39 +01:00
ae9e68d9b2
Add a "what this sdk does" section
2015-06-12 17:12:53 +01:00
9dfb5b72b8
NPM hates RST. Convert README to Markdown.
2015-06-12 16:52:02 +01:00
3dc6bf3647
Update README with example output
2015-06-12 16:33:04 +01:00
7a96637a1b
Example app: Print timestamps and all state events.
2015-06-12 16:26:44 +01:00
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
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
3061b95afe
Add getPrevContent function and mark it's situational presence.
2015-06-12 11:26:33 +01:00
71dacb14b1
Add MatrixEvent.sender and .target to pull the right name per message.
2015-06-12 11:05:57 +01:00
da7b31cb7e
Add Room.getJoinedMembers helper. UX tweaks to example.
2015-06-12 10:49:13 +01:00
8c5c7cc961
Make examples/node/app an actual app rather than the usage example.
2015-06-12 10:33:45 +01:00
1fed4def69
Merge pull request #8 from matrix-org/event-emitter
...
Event emitter implementation (SYJS-7)
2015-06-11 18:18:54 +01:00
9be3b2757a
Fix formatting.
2015-06-11 17:59:10 +01:00
afee001de7
Add fleshed out example
2015-06-11 17:58:24 +01:00
8aefad221a
Add client.getRooms. Add 'syncComplete' event. Display room invites.
2015-06-11 17:52:52 +01:00