Bruno Windels
d31a1b5fff
render display name in timeline
2020-08-20 10:26:28 +02:00
Bruno Windels
41c00ce44a
write display name and avatar on event during sync
2020-08-20 10:26:08 +02:00
Bruno Windels
ba3a4ab8b2
process state events in the timeline together with other timeline events
...
so member info gets overwritten after all the previous events
have already been written
2020-08-20 09:39:19 +02:00
Bruno Windels
d08297d1e0
move RoomMembers to own dir
2020-08-19 16:28:09 +02:00
Bruno Windels
bfc5eb3ee5
return changed members from sync writer
...
we will use it to handle race between /sync and /members
and to update the member list if it loaded
2020-08-19 16:12:49 +02:00
Bruno Windels
2ad9b17ad7
no need to update members, as all the info is in the member event
...
as we won't store deviceTrackingStatus in the member
2020-08-19 16:10:07 +02:00
Bruno Windels
9ff4f3839c
Merge branch 'master' into bwindels/memberlist
2020-08-19 12:13:38 +02:00
Bruno Windels
2526198251
replace usage of readPath with ?.
2020-08-19 11:36:43 +02:00
Bruno Windels
37597e2acb
mark fragment in storage when start of timeline is reached
...
so we don't keep looping to fetch more messages
when scrolled all the way up
2020-08-17 17:41:10 +02:00
Bruno Windels
56efd7eee0
don't load timeline past gaps
2020-08-17 15:22:25 +02:00
Bruno Windels
00a85697ab
add license header in all source files
2020-08-05 18:38:55 +02:00
Bruno Windels
f5d3092031
WIP
2020-06-26 23:26:24 +02:00
Bruno Windels
f56b96b0ff
add some ideas for relations
2020-05-07 19:14:53 +02:00
Bruno Windels
28bed56b5a
prevent closing more than once
2020-05-04 22:21:56 +02:00
Bruno Windels
c379caf4c0
remove obsolete ifdef comments
2020-04-20 21:31:27 +02:00
Bruno Windels
001dbefbcf
stop using default exports
...
because it becomes hard to remember where you used them and where not
2020-04-20 21:26:39 +02:00
Bruno Windels
e4563135bf
look at prev_content when handling member events
2020-03-30 21:59:44 +02:00
Bruno Windels
234c260339
dont modify fragments in comparer until txn succeeds
2020-03-30 20:46:52 +02:00
Bruno Windels
73ea09f668
Handle sync ordering vs back-fill ordering (see synapse #7164 ) resulting in dupe events
...
Also extra robustness while filling a gap
ignore duplicate events from synapse instead considering them an
overlapping event with the adjacent fragment
2020-03-30 20:37:36 +02:00
Bruno Windels
f02641c808
look for transaction_id in /messages response to delete pending events
2020-03-22 00:07:37 +01:00
Bruno Windels
6d68ec1bac
move fillGap to room
2020-03-21 23:40:40 +01: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
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
56c87b3966
better naming
2020-03-14 20:49:15 +01: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
201b70ee4f
fix failing to sync new rooms
2019-10-12 22:18:36 +02:00
Bruno Windels
d367037332
very basic support for lazy loading
2019-10-12 20:24:09 +02:00
Bruno Windels
45cd85ead1
fixup: check for event entry with eventType, event isn't exposed anymore
2019-07-29 19:58:35 +02:00
Bruno Windels
8665bcb897
concat synced events in timeline with pending events for local echo
2019-07-29 19:53:58 +02:00
Bruno Windels
9b94c4bb61
don't expose raw event object from entry, pending event doesn't have it
...
it only has content and *some* of the meta fields,
but we want to threat pendingevententry and evententry as one
and the same in the rest of the application, so don't give access
to entire event object.
2019-07-29 10:27:12 +02: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
3ed72df620
put everything together to make it roughly work
...
no local echo yet, and send errors are being swallowed
2019-07-27 10:51:51 +02:00
Bruno Windels
ccb722d766
more WIP
2019-07-26 22:03:57 +02:00
Bruno Windels
90a38078e0
unused import
2019-06-26 22:19:40 +02:00
Bruno Windels
106146660c
define storage keys to be 32bit for idb / web platform
...
as a preparation to serialize the eventIndex and fragmentId
as a 8 character string, part of a concatenated string PK,
as lumia doesn't support array keys.
2019-06-26 21:52:41 +02:00
Bruno Windels
9cd5257959
load more events when scrolled to top
2019-06-16 17:29:33 +02:00
Bruno Windels
0524f06722
remove logging
2019-06-03 00:31:21 +02:00
Bruno Windels
6bdf44d114
adjust comment
2019-06-03 00:30:37 +02:00
Bruno Windels
45528580ed
fix comparator/comparer mismatch
2019-06-03 00:30:16 +02:00
Bruno Windels
3dbf5e727d
process in incoming order (reverse-chronological order if backward)
...
makes code simpler, don't need fix to undo reverse ordering of
nonOverlappingEvents. reverse looking is very likely premature
optimization as well.
2019-06-03 00:18:52 +02:00
Bruno Windels
0407829b26
fix filling gaps with overlapping events
...
although event order remains wrong, as events are reversed.
step before removing premature optimization, so it's in the git
commit log
2019-06-03 00:11:29 +02:00
Bruno Windels
7852f31f7e
clear token on pagination when events start overlapping
2019-06-02 19:28:24 +02:00
Bruno Windels
bb5f139355
fix fragmentId:0 being evaluated as falsy
2019-06-02 19:27:23 +02:00
Bruno Windels
4b5b90e199
fix another direction mismatch
2019-06-02 19:26:45 +02:00
Bruno Windels
c63d94947f
fix persisting a gappy sync
2019-06-02 18:28:38 +02:00
Bruno Windels
ef5d2cfa08
chunk is in reverse-chronological order for backward pagination
2019-06-02 18:15:40 +02:00
Bruno Windels
a59014475b
also swap logic of setter
2019-06-02 18:15:08 +02:00
Bruno Windels
bdad0ad86b
fix some gap fill errors
2019-06-02 15:46:24 +02:00