summaryrefslogtreecommitdiffhomepage
path: root/packages/enterprise/test/core
diff options
context:
space:
mode:
authorShoubhit Dash <[email protected]>2026-03-06 18:19:15 +0530
committerGitHub <[email protected]>2026-03-06 06:49:15 -0600
commit1d9dcd2a27736b83d20abc0111141fdd6bffde7e (patch)
tree70d40994ed50d7f068c1415a67d9d8782d78d9af /packages/enterprise/test/core
parenteeeb21ff8638eddd960afbd8f522c87d850d6183 (diff)
downloadopencode-1d9dcd2a27736b83d20abc0111141fdd6bffde7e.tar.gz
opencode-1d9dcd2a27736b83d20abc0111141fdd6bffde7e.zip
share: speed up share loads (#16165)
Diffstat (limited to 'packages/enterprise/test/core')
-rw-r--r--packages/enterprise/test/core/share.test.ts30
1 files changed, 26 insertions, 4 deletions
diff --git a/packages/enterprise/test/core/share.test.ts b/packages/enterprise/test/core/share.test.ts
index 9e9c06db3..d49d4b763 100644
--- a/packages/enterprise/test/core/share.test.ts
+++ b/packages/enterprise/test/core/share.test.ts
@@ -30,8 +30,8 @@ describe.concurrent("core.share", () => {
data,
})
- const events = await Storage.list({ prefix: ["share_event", share.id] })
- expect(events.length).toBe(1)
+ const snapshot = await Storage.read<{ data: Share.Data[] }>(["share_snapshot", share.id])
+ expect(snapshot?.data).toHaveLength(1)
await Share.remove({ id: share.id, secret: share.secret })
})
@@ -64,8 +64,8 @@ describe.concurrent("core.share", () => {
data: data2,
})
- const events = await Storage.list({ prefix: ["share_event", share.id] })
- expect(events.length).toBe(2)
+ const snapshot = await Storage.read<{ data: Share.Data[] }>(["share_snapshot", share.id])
+ expect(snapshot?.data).toHaveLength(2)
await Share.remove({ id: share.id, secret: share.secret })
})
@@ -194,6 +194,28 @@ describe.concurrent("core.share", () => {
await Share.remove({ id: share.id, secret: share.secret })
})
+ test("should migrate legacy event data into the snapshot", async () => {
+ const sessionID = Identifier.descending()
+ const share = await Share.create({ sessionID })
+ const data: Share.Data[] = [
+ {
+ type: "part",
+ data: { id: "part1", sessionID, messageID: "msg1", type: "text", text: "Hello" },
+ },
+ ]
+
+ await Storage.remove(["share_snapshot", share.id])
+ await Storage.write(["share_event", share.id, Identifier.descending()], data)
+
+ const result = await Share.data(share.id)
+ const snapshot = await Storage.read<{ data: Share.Data[] }>(["share_snapshot", share.id])
+
+ expect(result).toHaveLength(1)
+ expect(snapshot?.data).toHaveLength(1)
+
+ await Share.remove({ id: share.id, secret: share.secret })
+ })
+
test("should throw error for invalid secret", async () => {
const sessionID = Identifier.descending()
const share = await Share.create({ sessionID })