Commit graph

4287 commits

Author SHA1 Message Date
Bruno Windels 1b228b0200 export timelineviewmodel from roomviewmodel 2019-06-01 18:29:23 +02:00
Bruno Windels 039bbe038c adjust tiles(collection) to entry changes 2019-06-01 18:29:02 +02:00
Bruno Windels 35d90a8535 ctor takes a bool, not Direction. But use helper fn instead. 2019-06-01 18:20:29 +02:00
Bruno Windels 2a128ed32c use SortedArray in Timeline, adjust loadAtTop to use TimelineReader 2019-06-01 17:39:23 +02:00
Bruno Windels 843c94b750 finished observable SortedArray to something useable
although not as performant as it could be
2019-06-01 17:38:23 +02:00
Bruno Windels f8fbfbff9a implement reading n events from end of live fragment 2019-06-01 17:04:05 +02:00
Bruno Windels 3137f025c7 remove draft commented code 2019-06-01 16:44:58 +02:00
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 35a5e3f21a docs update 2019-05-11 09:51:57 +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 8670ab6331 add todo for fragments 2019-04-18 20:20:23 +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 0ca0230bc0 specify what is missing 2019-04-04 21:48:26 +02:00
Bruno Windels a8aa97fdf3 plan to refactor to support storing /context responses 2019-04-04 21:48:13 +02:00
Bruno Windels 245370c765 list of questions we've got no good solution for yet 2019-04-04 09:27:53 +02:00
Bruno Windels 6ba37e90a3 work on memory store 2019-04-04 09:27:31 +02:00
Bruno Windels 1605170f9e update test runner to support async tests 2019-03-29 23:51:25 +01: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 cc3a181128 prettier color 2019-03-15 20:29:44 +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 d6e357cc22 update TODO 2019-03-08 20:05:21 +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