diff options
| author | Noam Bressler <[email protected]> | 2025-12-22 05:13:11 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-21 21:13:11 -0600 |
| commit | d4b7f75ce3ceeacfa5d332cde17acc0fd9cc1218 (patch) | |
| tree | e1c72bf62c9a7a886298f83fc6c229c16c33b960 /packages | |
| parent | 4f73d580316fea99019ced89e4d83196e7e3f7d7 (diff) | |
| download | opencode-d4b7f75ce3ceeacfa5d332cde17acc0fd9cc1218.tar.gz opencode-d4b7f75ce3ceeacfa5d332cde17acc0fd9cc1218.zip | |
fix: Perform snapshot in cases finish-step is not reached (#5912)
Co-authored-by: noamzbr <[email protected]>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/session/processor.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/opencode/src/session/processor.ts b/packages/opencode/src/session/processor.ts index 1d4d24303..78871630c 100644 --- a/packages/opencode/src/session/processor.ts +++ b/packages/opencode/src/session/processor.ts @@ -365,6 +365,20 @@ export namespace SessionProcessor { error: input.assistantMessage.error, }) } + if (snapshot) { + const patch = await Snapshot.patch(snapshot) + if (patch.files.length) { + await Session.updatePart({ + id: Identifier.ascending("part"), + messageID: input.assistantMessage.id, + sessionID: input.sessionID, + type: "patch", + hash: patch.hash, + files: patch.files, + }) + } + snapshot = undefined + } const p = await MessageV2.parts(input.assistantMessage.id) for (const part of p) { if (part.type === "tool" && part.state.status !== "completed" && part.state.status !== "error") { |
