ne");
				await reqAsPromise(store.add(value));
			}

			async selectLast(roomId, amount) {
				const tx = this._database.transaction(["timeline"], "readonly");
				const store = tx.objectStore("timeline");
				const maxKey = new Key();
				maxKey.gapKey = Number.MAX_SAFE_INTEGER;
				maxKey.eventKey = Number.MAX_SAFE_INTEGER;
				const range = IDBKeyRange.upperBound([roomId, maxKey.buffer()]);
				const cursor = store.openCursor(range, "prev");
				const events = await fetchResults(cursor, 
					(results) 