fix(preview): fetch touched files from server + fix i18n parity - #187
Merged
Merged
Conversation
jeonghun-jj-lee
force-pushed
the
fix/preview-touched-files-server
branch
5 times, most recently
from
August 11, 2026 12:59
db29b47 to
6c73f6c
Compare
The Preview tab's file list now queries a new server endpoint GET /session/:sessionID/touched-files that scans ALL messages in the session for tool parts with filediff metadata — independent of git state and client-side message pagination (which only loads the last 20 messages). This fixes the bug where reopening a session wouldn't show files edited earlier in the conversation. Also adds missing i18n keys (session.archived.readOnly, session.archived.unarchive, common.unarchive) to all 17 non-English locales, fixing the pre-existing parity test failure.
jeonghun-jj-lee
force-pushed
the
fix/preview-touched-files-server
branch
from
August 11, 2026 13:03
6c73f6c to
b2ece68
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Preview tab's file list was empty after reopening a session because:
touchedFilesmemo only walked loaded message parts — but the session paginates at 20 messages, so earlier edits were invisibleFix
New server endpoint:
GET /session/:sessionID/touched-filesscans ALL messages (unpaginated) for completed edit/write/patch tool parts withfilediffmetadata. Returns[{file, status}]independent of git state.Client:
touchedFilesQueryfetches from this endpoint (keyed onsessionDiffVersionso it refetches on new edits), with a client-side fallback for the live session before the server catches up.Absolute path support (from PR #186): file read/write handlers now serve absolute paths directly via
fs/promises— the traversal guard only blocks relative-path escapes.i18n parity: Added 3 missing keys (
session.archived.readOnly,session.archived.unarchive,common.unarchive) to all 17 non-English locales, fixing the pre-existing test failure.Verification
opencodetypecheck: clean@opencode-ai/apptypecheck: clean