summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context/global-sync/queue.test.ts
diff options
context:
space:
mode:
authorLuke Parker <[email protected]>2026-04-30 08:39:19 +1000
committerGitHub <[email protected]>2026-04-29 22:39:19 +0000
commitd7b7be1909d614a4022b345bdbeef0c1ec32e159 (patch)
treeb25640c571a0333b62cf7f06a0ee7ea24b8d3c68 /packages/app/src/context/global-sync/queue.test.ts
parenta740d2c66782ef3371146cd55d70920ae9b94daf (diff)
downloadopencode-d7b7be1909d614a4022b345bdbeef0c1ec32e159.tar.gz
opencode-d7b7be1909d614a4022b345bdbeef0c1ec32e159.zip
fix(desktop): Path mismatches cause sessions missing + strong ID + existing data fix (#25013)
Diffstat (limited to 'packages/app/src/context/global-sync/queue.test.ts')
-rw-r--r--packages/app/src/context/global-sync/queue.test.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/packages/app/src/context/global-sync/queue.test.ts b/packages/app/src/context/global-sync/queue.test.ts
new file mode 100644
index 000000000..c9919855e
--- /dev/null
+++ b/packages/app/src/context/global-sync/queue.test.ts
@@ -0,0 +1,46 @@
+import { describe, expect, test } from "bun:test"
+import { createRefreshQueue } from "./queue"
+import { directoryKey } from "./utils"
+
+const tick = () => new Promise((resolve) => setTimeout(resolve, 10))
+
+describe("createRefreshQueue", () => {
+ test("clears queued directories by normalized key", async () => {
+ const calls: string[] = []
+ const queue = createRefreshQueue({
+ paused: () => false,
+ key: directoryKey,
+ bootstrap: async () => {},
+ bootstrapInstance: (directory) => {
+ calls.push(directory)
+ },
+ })
+
+ queue.push("C:\\tmp\\demo")
+ queue.clear("C:/tmp/demo")
+
+ await tick()
+
+ expect(calls).toEqual([])
+ queue.dispose()
+ })
+
+ test("passes the original directory to bootstrapInstance", async () => {
+ const calls: string[] = []
+ const queue = createRefreshQueue({
+ paused: () => false,
+ key: directoryKey,
+ bootstrap: async () => {},
+ bootstrapInstance: (directory) => {
+ calls.push(directory)
+ },
+ })
+
+ queue.push("C:\\tmp\\demo")
+
+ await tick()
+
+ expect(calls).toEqual(["C:\\tmp\\demo"])
+ queue.dispose()
+ })
+})