diff options
| author | Ariane Emory <[email protected]> | 2026-01-20 21:38:54 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-01-20 20:38:54 -0600 |
| commit | cbe20d22d3209896cbab5a803d81f3b4464e1c23 (patch) | |
| tree | 603d41ce4fccc12ca3a8cbba4bcb1a2b202e9c7d | |
| parent | 3723e1b8d2b0580467b2417b8e7f303b987cde72 (diff) | |
| download | opencode-cbe20d22d3209896cbab5a803d81f3b4464e1c23.tar.gz opencode-cbe20d22d3209896cbab5a803d81f3b4464e1c23.zip | |
fix: don't update session timestamp for metadata-only changes (resolves #9494) (#9495)
| -rw-r--r-- | packages/opencode/src/server/routes/session.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/session/index.ts | 10 | ||||
| -rw-r--r-- | packages/opencode/src/session/prompt.ts | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/packages/opencode/src/server/routes/session.ts b/packages/opencode/src/server/routes/session.ts index a98624dfa..a0dc9fb84 100644 --- a/packages/opencode/src/server/routes/session.ts +++ b/packages/opencode/src/server/routes/session.ts @@ -281,7 +281,7 @@ export const SessionRoutes = lazy(() => session.title = updates.title } if (updates.time?.archived !== undefined) session.time.archived = updates.time.archived - }) + }, { touch: false }) return c.json(updatedSession) }, diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 3fcdab523..659127470 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -259,7 +259,7 @@ export namespace Session { draft.share = { url: share.url, } - }) + }, { touch: false }) return share }) @@ -269,14 +269,16 @@ export namespace Session { await ShareNext.remove(id) await update(id, (draft) => { draft.share = undefined - }) + }, { touch: false }) }) - export async function update(id: string, editor: (session: Info) => void) { + export async function update(id: string, editor: (session: Info) => void, options?: { touch?: boolean }) { const project = Instance.project const result = await Storage.update<Info>(["session", project.id, id], (draft) => { editor(draft) - draft.time.updated = Date.now() + if (options?.touch !== false) { + draft.time.updated = Date.now() + } }) Bus.publish(Event.Updated, { info: result, diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index 57ef0ef5e..48f2597d0 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -1816,6 +1816,6 @@ NOTE: At any point in time through this workflow you should feel free to ask the const title = cleaned.length > 100 ? cleaned.substring(0, 97) + "..." : cleaned draft.title = title - }) + }, { touch: false }) } } |
