fix: verify Cursor chat store before reopen (#1037)

* test: reproduce issue #841

* test: cover Cursor chat store discovery

* fix: verify Cursor chat store before resume (closes #841)

* test: preserve non-Cursor resume behavior

* test: cover conservative Cursor resume gating

* fix: gate Cursor reopen until store verification

* test: cover legacy Cursor drawer fallback

* fix: scan unique legacy Cursor store drawer

* test: preserve raw Cursor workspace path hashing

* fix: hash raw Cursor workspace path

* test: pin Cursor probe owner and machine

* fix: probe Cursor store on recorded owner

* test: normalize Cursor probe owner home

* fix: normalize Cursor probe owner home
This commit is contained in:
SSU-WEI HUANG
2026-07-16 12:34:41 +08:00
committed by GitHub
parent adb6f41858
commit 520c3f511a
27 changed files with 955 additions and 34 deletions
+13
View File
@@ -79,4 +79,17 @@ describe('ApiClient error mapping', () => {
expect(apiError.body).toContain('cursorSessionId')
}
})
it('loads the Cursor chat store status for the selected session', async () => {
fetchMock.mockResolvedValueOnce(
new Response(JSON.stringify({ onDisk: false, store: null }), { status: 200 })
)
const api = new ApiClient('test-token')
await expect(api.getCursorChatStoreStatus('session cursor')).resolves.toEqual({
onDisk: false,
store: null
})
expect(fetchMock.mock.calls[0]?.[0]).toBe('/api/sessions/session%20cursor/cursor-chat-store')
})
})