Bruno Windels
447b0aa03c
allow adding fragments to comparer, instead of reloading from db.
...
This is a suboptimal implementation now,
but is the API we want to end up with. Readers and Writers
in persistence add fragments to the comparer when they become
aware of, create, or link up fragments.
2019-06-01 16:42:57 +02:00
Bruno Windels
fa4efe0132
rename Gap/SyncPersistence to Writer, in line with TimelineReader
2019-06-01 15:40:21 +02:00
Bruno Windels
784588440c
WIP for fragment support
2019-05-19 20:49:46 +02:00
Bruno Windels
3324fd3afd
split up persistFragmentFill method into smaller ones
2019-05-12 20:44:20 +02:00
Bruno Windels
10457611f9
whitespace
2019-05-12 20:26:46 +02:00
Bruno Windels
e3328f0fef
add fragments store name
2019-05-12 20:26:32 +02:00
Bruno Windels
da5e8794ab
lint
2019-05-12 20:26:20 +02:00
Bruno Windels
75100c1c60
adjust Timeline to changes, gap persister
2019-05-12 20:26:03 +02:00
Bruno Windels
a6b17cf25a
first draft of persistFragmentFill
2019-05-12 20:25:41 +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
bf835ac01d
create Entry classes and return fragment boundaries as entries as well
...
they can then be used for gap tiles.
2019-05-11 18:19:53 +02:00
Bruno Windels
2b510b24d9
adjust persister to fragments (untested)
2019-05-11 15:41:46 +02:00
Bruno Windels
152397a292
first impl of idb fragment store
2019-05-11 15:41:09 +02:00
Bruno Windels
41f2224454
get live fragment in persister
2019-05-11 13:21:58 +02:00
Bruno Windels
783f39c378
add fragmentId to methods that need it in timeline store
2019-05-11 13:21:21 +02:00
Bruno Windels
53cdabb459
store method to find events to connect with when filling gaps
...
as fragments can be unaware of their chronological relationship,
we need to check whether the events received from /messages or /context
already exists, so we can later hook up the fragments.
2019-05-11 13:10:31 +02:00
Bruno Windels
d6ae313bbd
make compare rely less on fragment index
...
also indenting
2019-05-11 09:51:27 +02:00
Bruno Windels
99c8816bf9
better naming
...
FragmentIndex -> FragmentIdIndex (index of fragment ids,
not an index number in a fragment collection)
EventKey -> EventIndex (implies being ordered)
FragmentKey -> FragmentId
(implies not being ordered, hence FragmentIdIndex)
2019-05-01 15:36:32 +02:00
Bruno Windels
d90411a6dd
adjust SortKey to have fragmentKey instead of gapKey
...
with FragmentIndex to compare fragment keys
2019-05-01 14:47:39 +02:00
Bruno Windels
06d2d2e198
draft of idb store for fragments
2019-04-18 20:19:43 +02:00
Bruno Windels
749bdadf74
disable failing tests for now and include fragment index so it's tests are found
2019-04-18 20:19:09 +02:00
Bruno Windels
6ba37e90a3
work on memory store
2019-04-04 09:27:31 +02:00
Bruno Windels
3f2f656db7
work on gap filling + tests (doesn't work yet)
2019-03-29 23:01:27 +01:00
Bruno Windels
aaff9eea6c
update store api with requirements for gap filling
2019-03-29 23:01:22 +01:00
Bruno Windels
7d91b2dde3
first go at a timeline memory store
...
first to use in unit tests for persister
later also to use in production when idb is not available
2019-03-29 23:00:22 +01:00
Bruno Windels
b1e382d7c9
thinko with direction
2019-03-21 21:36:02 +01:00
Bruno Windels
8f7e5a799c
work on filling gaps + test (draft only)
2019-03-21 21:35:33 +01:00
Bruno Windels
61804073e2
comment how updates should work
2019-03-15 20:29:17 +01:00
Bruno Windels
2cd9c2344e
expose timeline loading error in viewmodel
2019-03-09 00:43:43 +01:00
Bruno Windels
8e8e22fe16
work on filling gaps
2019-03-09 00:41:06 +01:00
Bruno Windels
c8749a1a06
rought impl of tiles collection
2019-03-09 00:40:17 +01:00
Bruno Windels
153d54a285
work on tile view models
2019-03-09 00:40:03 +01:00
Bruno Windels
1f5d488105
draft of timeline tiles support
2019-03-08 20:04:56 +01:00
Bruno Windels
6940e14b18
move sortedIndex out of observable as other code will want to use it too
2019-03-08 20:04:28 +01:00
Bruno Windels
95bef00054
some comments
2019-03-08 20:03:47 +01:00
Bruno Windels
ec925d7c49
draft of how to implement filling a timeline gap
2019-03-08 20:03:18 +01:00
Bruno Windels
1757a27475
consistent naming
2019-03-08 20:01:28 +01:00
Bruno Windels
994f1c57d3
store all logout data outside of the session storage
...
so we could store it in gnome keyring, macOs keychain, ... on non-webclients,
also better separation
2019-03-08 20:00:37 +01:00
Bruno Windels
2dbd0fb9dc
move view models over to domain
2019-03-08 19:58:54 +01:00
Bruno Windels
049e70e312
throw NetworkError from HomeServerApi
2019-03-08 12:26:59 +01:00
Bruno Windels
818cf8051c
dont show ui before initial sync
2019-02-27 23:38:03 +01:00
Bruno Windels
9e7811299d
MappedMap update mechanism needs to be reworked, disable for now
2019-02-27 23:23:20 +01:00
Bruno Windels
f8bd11f07b
doesn't need to be async for now
2019-02-27 23:23:09 +01:00
Bruno Windels
8462a0ac6b
this behaves weird? need to figure out later
2019-02-27 23:22:47 +01:00
Bruno Windels
80eac6e48d
ignore clicking on root
2019-02-27 23:21:16 +01:00
Bruno Windels
7903ae0001
pass event to item clicked handler
2019-02-27 23:21:00 +01:00
Bruno Windels
16d5c3279c
correctly map className attribute
2019-02-27 23:20:29 +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
c2ecd79f21
pass params to child onUpdate
2019-02-26 23:50:15 +01:00