Commit Graph

326 Commits

Author SHA1 Message Date
Bruno Windels 396722c143 bump to 0.0.17 2020-03-21 10:50:55 +01:00
Bruno Windels a0dd4ee159
Merge pull request #34 from bwindels/bwindels/updateprevfragwhenappending
Fix: update previous fragment in comparer when appending a new live fragment
2020-03-21 09:48:34 +00:00
Bruno Windels 44760a9f82 Revert "add logging related to fragments"
This reverts commit 2f355cabef.
2020-03-21 10:47:35 +01:00
Bruno Windels c4a5de20c0 update previous fragment in comparer when appending a new line fragment 2020-03-21 10:45:09 +01:00
Bruno Windels aa7e5d4e0a bump version to 0.0.16 2020-03-20 20:24:00 +01:00
Bruno Windels 2f355cabef add logging related to fragments
both when rebuilding and when sorting will be used
2020-03-20 20:23:07 +01:00
Bruno Windels 096800d91a
Merge pull request #33 from bwindels/bwindels/fixwedgie
Fix: remote id not being stored when receiving /send response
2020-03-16 23:22:41 +00:00
Bruno Windels 7e8cc7ae00 need to return the response here, not the request wrapper
we were reading back a remote id of undefined because of this,
so when for some reason we never receive the message down from sync,
the pending message keeps sending on every load. The server ignores
the send though, because the transaction id is already used, and it returns
the remote id of the event that was already sent the previous time, but
as we were not storing this remote id, we'd just try again and again.

not receiving it through sync could have happened when we were sending a bunch of events
and then receiving (this is how we encountered this bug, while trying to repro another) the
response, but not yet the sync for the message that got wedged. Then we typed stuff on another client
so we would get a limited response for that room, and boom, we would not get the remote echo of the
event that was already sent (but because of this bug we didn't store the remote id) but no echo received yet (when we remove the pending event),
so it gets wedged!
2020-03-17 00:11:50 +01:00
Bruno Windels b69efc3425 fix errors when replaying 2020-03-17 00:07:54 +01:00
Bruno Windels ff9e55e49c cut 0.0.15 2020-03-14 21:42:24 +01:00
Bruno Windels 06e43d9ee3 fix all tests 2020-03-14 21:38:37 +01:00
Bruno Windels 8ac230a691 upgrade deps, also acorn to 7.1.1 because of security 2020-03-14 21:38:27 +01:00
Bruno Windels 38d79026d8 upgrade to impunity 0.0.10 so tests can run again 2020-03-14 21:37:25 +01:00
Bruno Windels 2b0151c248
Merge pull request #32 from bwindels/bwindels/fixconstrainterror-part2-rebased
Also only set session and summary data once txn is committed
2020-03-14 19:53:31 +00:00
Bruno Windels 714892c3d3 this breaks the local server, so don't do it for now 2020-03-14 20:52:17 +01:00
Bruno Windels 56c87b3966 better naming 2020-03-14 20:49:15 +01:00
Bruno Windels ac4a7f971b only apply sync changes in room summary once txn is committed
- also remove m.room.aliases support as they were wrongly implemented
   and now obsolete
 - don't count invited and joined members according to m.room.member
   events anymore as it was also wrongly implemented
   (only when prev!==new membership, but on initial sync we only get
   last member event, which might have been a nick change
2020-03-14 20:46:49 +01:00
Bruno Windels fc741272ba only apply sync changes in session once txn is committed 2020-03-14 20:45:36 +01:00
Bruno Windels 177b03915d fix unit tests by updating impunity 2020-03-13 23:26:48 +01:00
Bruno Windels 8eea6e7296
Update e2e.md 2020-03-10 17:34:45 +00:00
Bruno Windels 3ba91835c4 bump version for release 2020-01-04 20:30:29 +01:00
Bruno Windels 063efea159
Merge pull request #27 from bwindels/bwindels/tryfixconstrainterror
Attempt to fix ConstraintError on sync
2020-01-04 19:29:10 +00:00
Bruno Windels 224d56698a only set new live key when creating a fragment after the txn succeeds
when doing a limited sync, and a new fragment is created,
this._lastLiveKey is updated immediately. If the transaction
would then fail, the fragmentId in this._lastLiveKey was incremented
but the fragment wasn't written to the store, so if sync is resumed
and would subsequently succeed, fragmentIds would be assigned to events
that don't have a corresponding fragment in the timelineFragment store.

This would throw errors when trying to load the timeline,
breaking the whole app.

This changes SyncWriter to only update this._lastLiveKey in
the emit phase, when the transactions has been committed already.
2020-01-04 20:06:49 +01:00
Bruno Windels bdc2c3d9ad cleanup: storage is not used in SyncWriter
as the transaction is now always passed as an argument, it never
creates one on its own.
2020-01-04 20:04:57 +01:00
Bruno Windels 3b1ad40408
Merge pull request #26 from bwindels/bwindels/netreplay
Add utility to record and replay homeserver requests
2019-12-23 13:31:53 +00:00
Bruno Windels 29b531ae80 add (commented out) instructions how to use record/replay 2019-12-23 14:29:19 +01:00
Bruno Windels eb34fc4ef6 ignore folders to store exports 2019-12-23 14:29:05 +01:00
Bruno Windels 1d9a5c490a add record/replay network layer 2019-12-23 14:28:42 +01:00
Bruno Windels aa86748cdd pull fetch code out of homeserverapi 2019-12-23 14:28:27 +01:00
Bruno Windels d635773ac0 bump version 2019-12-14 18:32:30 +01:00
Bruno Windels 6ac76f554b
Merge pull request #25 from bwindels/bwindels/export
Add import/export functionality
2019-12-14 17:31:51 +00:00
Bruno Windels 35c090dcb4 add proper import/export functionality 2019-12-14 18:29:35 +01:00
Bruno Windels 9c42710f9b add github link to home screens 2019-11-22 09:46:19 +01:00
Bruno Windels 8a55778c32 make sure aliases and heroes aren't empty when picking name 2019-11-22 09:29:18 +01:00
Bruno Windels 2848e85c87 add link to deployment 2019-11-22 09:01:57 +01:00
Bruno Windels 4b28eee8b9 do non-debug build by default 2019-11-22 08:55:30 +01:00
Bruno Windels 325077bcb0 try more domexception fixes 2019-11-21 18:28:18 +01:00
Bruno Windels 5ecf0a6717 fix error path on transaction abort error 2019-11-21 18:23:48 +01:00
Bruno Windels d073f2825b show json in one line when clearing cache
also make naming consistent
2019-10-24 10:54:20 +02:00
Bruno Windels 738b8202be wrote docs about how to do invites and e2ee 2019-10-23 09:42:44 +02:00
Bruno Windels 964e09bfd5 cut 0.0.7 2019-10-23 09:42:15 +02:00
Bruno Windels 2ce0f6e30e document steps needed to implement e2e 2019-10-17 22:40:26 +02:00
Bruno Windels d34a0c73b5 show json in list instead of alert so we can copy it 2019-10-13 08:29:23 +02:00
Bruno Windels 6f73d3983f add export/import of session data 2019-10-13 08:16:08 +02:00
Bruno Windels e2b9e9dfdc add clear cache button for session 2019-10-13 07:48:49 +02:00
Bruno Windels ad7a150aaa use aliases and heroes to fall back room name to 2019-10-13 07:48:33 +02:00
Bruno Windels 3e2520dbba increment version to 0.0.3 2019-10-12 22:19:39 +02:00
Bruno Windels b16f21867c preserve value for storage errors on add and put 2019-10-12 22:19:16 +02:00
Bruno Windels 201b70ee4f fix failing to sync new rooms 2019-10-12 22:18:36 +02:00
Bruno Windels ac53b9099b only log error in sync loop 2019-10-12 22:18:19 +02:00