Commit graph

167 commits

Author SHA1 Message Date
Bruno Windels 422cca746b add notes and prototypes for sending, etc 2019-06-09 16:26:17 +02:00
Bruno Windels 20fa1448fd notes on sending events 2019-06-04 23:18:03 +02:00
Bruno Windels ef9b38f493 update readme with gaps work 2019-06-03 00:40:00 +02:00
Bruno Windels 257714f9a7
Merge pull request #1 from bwindels/bwindels/gaps
Implements gap filling & timeline fragments
2019-06-02 22:35:22 +00:00
Bruno Windels c838edb6c4 update todo lists 2019-06-03 00:33:19 +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 c9aaa18151 return only eventId from findFirstOrLastOccurringEventId 2019-06-03 00:11:12 +02:00
Bruno Windels 7852f31f7e clear token on pagination when events start overlapping 2019-06-02 19:28:24 +02:00
Bruno Windels 0b637f656a timeline store requests should always be scoped to 1 fragmentId
as fragmentIds should not be sorted, they are a linked list
and that is what determines their order.
2019-06-02 19:27:40 +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 e3b4f898d0 show eventkey in ui for debugging purposes 2019-06-02 18:15:24 +02:00
Bruno Windels a59014475b also swap logic of setter 2019-06-02 18:15:08 +02:00
Bruno Windels a269f612b6 space 2019-06-02 15:46:44 +02:00
Bruno Windels bdad0ad86b fix some gap fill errors 2019-06-02 15:46:24 +02:00
Bruno Windels d022608a1a it's entry.entryIndex, not eventIndex, but use helper method instead. 2019-06-02 15:24:27 +02:00
Bruno Windels 674007d892 don't fail when insert first or appending a tile 2019-06-02 15:15:14 +02:00
Bruno Windels 1ed3babfec fragment boundary is a gap if backwards(started) & previousToken 2019-06-02 15:01:14 +02:00
Bruno Windels e339cb7321 more fixes, timeline is showing again 2019-06-02 14:59:30 +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 210a00d541 first attempt at making UI work again, with tiles and gaps 2019-06-02 00:03:55 +02:00
Bruno Windels 3de86cdf33 obsolete comment 2019-06-01 18:32:32 +02:00
Bruno Windels b10aa269d2 very quick emote support 2019-06-01 18:32:17 +02:00
Bruno Windels 765a68c766 adjust fragments status, also add future perf optimization notes 2019-06-01 18:29:37 +02:00
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