No description
This repository has been archived on 2022-08-19. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Bruno Windels 0fd52be710 encode idb array keys as sortable strings
that's why numeric parts of the keys have to be encoded
as a fixed length, "big-endian" ordered strings, so
string sorting will also sort the numeric keys correctly.

this also assumes room ids don't contain the "|" character,
we should probably escape the separator at some point.
2019-06-26 21:55:33 +02:00
doc update viewhierarchy doc 2019-06-16 16:41:17 +02:00
prototypes refine ui prototype and document planned view hierarchy 2019-06-15 01:36:52 +02:00
scripts add non-caching server for local dev 2019-02-16 02:57:19 +01:00
src encode idb array keys as sortable strings 2019-06-26 21:55:33 +02:00
.editorconfig wip 2019-02-17 23:58:01 +01:00
.eslintrc.js its syncing, sort off 2019-02-10 21:25:46 +01:00
.gitignore add non-caching server for local dev 2019-02-16 02:57:19 +01:00
index-build.html build bundled version 2019-06-23 23:38:30 +02:00
index.html apply css from prototype, other small changes, keep scroll at bottom 2019-06-16 15:21:20 +02:00
package-lock.json rename morpheus to brawl 2019-06-14 23:58:39 +02:00
package.json build bundled version 2019-06-23 23:38:30 +02:00
README.md rename morpheus to brawl 2019-06-14 23:58:39 +02:00
rollup.config.js build bundled version 2019-06-23 23:38:30 +02:00
yarn.lock build bundled version 2019-06-23 23:38:30 +02:00

Brawl

A javascript matrix client prototype, trying to minize RAM usage by offloading as much as possible to IndexedDB

Status

Syncing & storing rooms with state and timeline, with a minimal UI syncing room list and timeline on screen. Filling gaps supported, detecting overlapping events. The [0/1] in the gif below is the local event key, consisting of a fragment id and event index. No sending yet. Using Fractal here to update the room name and send messages:

Rooms and timeline syncing on-screen, gaps filling

Features that this approach would be well suited for

  • store all fetched messages, not just synced ones
  • fast local search (with words index)
  • scroll timeline with date tooltip?
  • jump to timestamp
  • multi-account