mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2025-01-22 10:11:39 +01:00
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.
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:
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
Languages
TypeScript
48.9%
JavaScript
40%
HTML
7.9%
CSS
3%
Shell
0.1%