mirror of
https://github.com/stablyai/orca.git
synced 2026-10-23 16:03:49 +00:00
fix(native-chat): reject coarse-mtime rewrites
This commit is contained in:
@@ -93,4 +93,17 @@ describe('SSH transcript range stability', () => {
|
||||
TranscriptRangeReadInvalidatedError
|
||||
)
|
||||
})
|
||||
|
||||
it('rejects a same-length rewrite even when remote mtime is coarse', async () => {
|
||||
const remote = mutableProvider('old generation')
|
||||
mocks.provider = remote.provider
|
||||
const rangeFs = await createSshTranscriptRangeFs('ssh-owner')
|
||||
const openingStamp = await rangeFs.stat(TRANSCRIPT_PATH, undefined, true)
|
||||
|
||||
remote.replace('new generation', false)
|
||||
|
||||
await expect(rangeFs.assertStable(TRANSCRIPT_PATH, openingStamp)).rejects.toBeInstanceOf(
|
||||
TranscriptRangeReadInvalidatedError
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -109,7 +109,9 @@ export async function createSshTranscriptRangeFs(
|
||||
if (versionChanged) {
|
||||
throw new TranscriptRangeReadInvalidatedError()
|
||||
}
|
||||
return
|
||||
if (openingStamp.size === 0) {
|
||||
return
|
||||
}
|
||||
}
|
||||
if (!openingStamp.boundaryFingerprint) {
|
||||
throw new TranscriptRangeReadInvalidatedError()
|
||||
|
||||
Reference in New Issue
Block a user