Matthew Hodgson
9bd45cf7c7
more lint and thinkos
2016-01-08 03:45:05 +00:00
Matthew Hodgson
c64aebdb17
lint and thinkos
2016-01-08 03:41:05 +00:00
Matthew Hodgson
387ad09c5f
implement account data
2016-01-08 03:22:08 +00:00
Matthew Hodgson
446faed9b5
copyrights please...
2016-01-07 04:15:38 +00:00
David Baker
a06d1f62d7
Merge remote-tracking branch 'origin/develop' into notif_sync
2015-12-22 14:47:39 +00:00
Kegan Dougal
2802092231
Add 60s to client-side timeout to account for slow HSes
2015-12-21 13:49:14 +00:00
David Baker
7aa4bd7f46
Propagate unread notif count from sync to the room object
2015-12-18 17:49:42 +00:00
Kegan Dougal
1174147d64
Don't lie in comments; remove spurious flag setting
2015-12-18 15:29:28 +00:00
Kegan Dougal
de53b292a2
Remove debug logging
2015-12-18 15:21:28 +00:00
Kegan Dougal
b50d61428c
Impl syncing of left rooms. Factor out getting or creating filters.
2015-12-18 11:57:46 +00:00
Kegan Dougal
59965b1c59
Add public api for syncing left rooms. Not implemented yet.
2015-12-17 17:17:53 +00:00
Kegsay
431f4a4797
Merge pull request #55 from matrix-org/kegan/sync-exp-backoff
...
Reset /sync backoff if setTimeout takes a long time to fire
2015-12-17 16:42:22 +00:00
Kegan Dougal
40c3fe558c
Add note stating when timing delays can occur.
2015-12-17 16:31:00 +00:00
Kegan Dougal
a12cd8d4a0
Fix JSDoc
2015-12-17 16:18:28 +00:00
Kegan Dougal
cd9d1daf17
Reset /sync backoff if setTimeout takes a long time to fire
...
This fixes vector-web/vector-im#536
The bug here is that we were assuming `setTimeout` would fire after the
requested time. This is not true when the machine is asleep. We now timestamp
before and after `setTimeout` and reset the attempt count if we have waited
more than twice what we originally requested. This allows for some jitter which
is to be expected.
2015-12-17 11:27:21 +00:00
Kegan Dougal
77356f0007
Fix vector-im/vector-web#494
2015-12-15 16:54:26 +00:00
Kegan Dougal
4cd6f615b3
Do bear minimum leave room handling so rejecting invites / leaving rooms are displayed correctly.
2015-12-15 16:21:36 +00:00
Kegan Dougal
bfda04daea
Move local timeout logic to the HTTP API class. Fixes /sync bug
...
The ability to set a local timeout is applicable to any request, so move it
to http-api.js - We only use this on /sync requests currently. This simplifies
the SyncApi since it doesn't need to worry about it anymore -- the request
promise just gets rejected if the timer expires.
Whilst testing I noticed a weird anomaly which I cannot explain. Playing with
Chrome's network debugger, once you recover from a black hole (0kbps, 90s RTT)
the subsequent requests take 20s to return *even though there is no throttling*.
This was causing issues when using a local timer of timeout= and BUFFER_PERIOD_MS
when timeout=1 due to attempts>1 - they were being knifed before the response
could return. The 20s latency was entirely artifical (checked synapse logs and
they were sub 1s), but I cannot find anywhere in the JS-SDK or browser-requests
where this would be the cause. This persisted even when BUFFER_PERIOD_MS was
changed from 20s to 10s.
2015-12-15 11:59:41 +00:00
Kegan Dougal
46504b8b9f
Fix tests; need more paranoia
2015-12-14 14:16:47 +00:00
Kegan Dougal
bd4d8433ab
Fix catchup bugs caused by using a stale pagination token
2015-12-14 14:11:25 +00:00
Kegan Dougal
a00e318d73
Fix pagination - set prev_batch at the right time
2015-12-14 12:28:04 +00:00
Kegan Dougal
13cab79e04
Revert prev commit - emit SYNCING>SYNCING and now comment why we do this
2015-12-14 10:31:27 +00:00
Kegan Dougal
fc6ce20e14
Check unsigned.age for getAge() for v2. Don't spam SYNCING emissions.
2015-12-14 10:27:53 +00:00
Kegan Dougal
9c49d26525
Linting
2015-12-14 09:24:33 +00:00
Kegan Dougal
d6299b634c
Scope filter keys in localStorage on user_id
2015-12-14 09:22:02 +00:00
Kegan Dougal
3d9d31d6b1
Fix remaining integration tests
2015-12-11 13:22:27 +00:00
Kegan Dougal
b219836b3e
Fix a bunch of integration tests
2015-12-11 12:53:26 +00:00
Kegan Dougal
26d9fed537
Fix MatrixClient unit tests
2015-12-11 11:07:31 +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
f08152a1d8
Handle ephemeral and account_data events
2015-12-10 14:27:21 +00:00
Kegan Dougal
6af2197183
Process join rooms and add local timeouts to /sync
...
This actually works now, though there's a number of teething
issues which may be app-specific. That, and all the tests are
broken.
2015-12-10 14:14:56 +00:00
Kegan Dougal
4c7e6807d2
Parse invites from /sync
2015-12-10 13:26:50 +00:00
Kegan Dougal
3d57b4ce6a
Be paranoid on /sync processing
2015-12-09 16:41:36 +00:00
Kegan Dougal
243bdd78f4
Handle presence key in /sync
2015-12-09 16:09:47 +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
06f927aa22
Minor cleanup and reshuffle
2015-12-09 11:27:03 +00:00
Kegan Dougal
f7ffed4b98
More linting
2015-12-09 11:19:20 +00:00
Kegan Dougal
0576e4ca0c
Linting
2015-12-09 11:16:46 +00:00
Kegan Dougal
529fb23555
Linting
2015-12-09 10:43:21 +00:00
Kegan Dougal
3543abf7bd
Make things work again
2015-12-09 10:42:38 +00:00
Kegan Dougal
2b659656cc
Move alllll the sync code to sync.js - still more to do (in FIXME XXX)
2015-12-08 17:41:09 +00:00