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
56cee450d1
return syncing user id from PendingEventEntry.sender
...
add User class where we later can track display name, avatar, ...
2019-07-29 10:24:34 +02:00
Bruno Windels
851100b88a
send unsent messages after first sync
2019-07-26 22:40:39 +02:00
Bruno Windels
707988f806
better handle remote echos and hookup in session and room
2019-07-26 22:33:33 +02:00
Bruno Windels
a1e527ccbc
first round of fixes after running the app again in the browser!
2019-06-02 00:49:47 +02:00
Bruno Windels
fa4efe0132
rename Gap/SyncPersistence to Writer, in line with TimelineReader
2019-06-01 15:40:21 +02:00
Bruno Windels
75100c1c60
adjust Timeline to changes, gap persister
2019-05-12 20:26:03 +02:00
Bruno Windels
89bc0e1696
split up RoomPersister to SyncPersister
...
also rename stores to timelineEvents and timelineFragments
2019-05-12 20:24:06 +02:00
Bruno Windels
8e8e22fe16
work on filling gaps
2019-03-09 00:41:06 +01:00
Bruno Windels
ec925d7c49
draft of how to implement filling a timeline gap
2019-03-08 20:03:18 +01:00
Bruno Windels
8462a0ac6b
this behaves weird? need to figure out later
2019-02-27 23:22:47 +01:00
Bruno Windels
6b4ed65a57
show timeline when clicking room in roomlist
2019-02-27 22:50:08 +01:00
Bruno Windels
5cafb92fee
emit after txn has been committed
...
to keep txn open for as short as possible,
and avoid any errors caused as part of emit aborting txn
2019-02-27 22:49:52 +01:00
Bruno Windels
c8d5b4483a
public room.id property, needed for session.rooms updater
2019-02-26 23:27:06 +01:00
Bruno Windels
841f280d3c
rooms on the screen!!
2019-02-26 22:45:58 +01:00
Bruno Windels
db53db7007
adjust to new ObservableMap api
2019-02-24 19:25:06 +01:00
Bruno Windels
5bff41c1ee
wip on collections and listview
2019-02-20 23:48:16 +01:00
Bruno Windels
bff0161a05
move sync & persistence engine over to own matrix folder
2019-02-10 21:33:18 +01:00