diff --git a/src/matrix/storage/idb/create.js b/src/matrix/storage/idb/create.js index 42f66e04..185f4992 100644 --- a/src/matrix/storage/idb/create.js +++ b/src/matrix/storage/idb/create.js @@ -10,10 +10,12 @@ function createStores(db) { db.createObjectStore("session", {keyPath: "key"}); // any way to make keys unique here? (just use put?) db.createObjectStore("roomSummary", {keyPath: "roomId"}); + + db.createObjectStore("timelineFragments", {keyPath: ["roomId", "id"]}); // needs roomId separate because it might hold a gap and no event - const timeline = db.createObjectStore("roomTimeline", {keyPath: ["roomId", "sortKey"]}); - timeline.createIndex("byEventId", [ - "roomId", + const timelineEvents = db.createObjectStore("timelineEvents", {keyPath: ["event.room_id", "fragmentId", "sortKey"]}); + timelineEvents.createIndex("byEventId", [ + "event.room_id", "event.event_id" ], {unique: true}); @@ -29,4 +31,4 @@ function createStores(db) { // "event.state_key" // ]}); // roomMembers.createIndex("byName", ["room_id", "content.name"]); -} \ No newline at end of file +}