Fix VS Code lineage node handling for special character paths#5779
Merged
tobymao merged 3 commits intoSQLMesh:mainfrom Apr 29, 2026
Merged
Fix VS Code lineage node handling for special character paths#5779tobymao merged 3 commits intoSQLMesh:mainfrom
tobymao merged 3 commits intoSQLMesh:mainfrom
Conversation
Agent-Logs-Url: https://github.com/nickmuoh/sqlmesh/sessions/4f02c76c-a43c-4abc-a191-f9a0f2cb1c1f Co-authored-by: nickmuoh <96191720+nickmuoh@users.noreply.github.com>
…ndling Fix VS Code lineage node opening for paths with `@`
tobymao
approved these changes
Apr 29, 2026
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.
The lineage panel file-open flow mixed filesystem paths and URI strings, causing files with special characters like
@in their path to fail silently.URI.file(path).toString()encodes@as%40, andUri.parse()on the extension side did not correctly reconstruct the filesystem path.Changes
vscode/bus/src/callbacks.tsopenFilepayload fielduri → filePathto reflect the actual type (plain filesystem path, not a URI string)vscode/react/src/pages/lineage.tsxhandleClickModel: sendmodel.full_pathdirectly asfilePathinstead of round-tripping throughURI.file(...).toString()fetchFirstTimeModelIfNotSet: compare filesystem paths directly instead of wrapping inURI.file().path(no-op on Linux, but misleading)handleChangeFocusedFile: dropURI.parse()— extension now sendsfsPathso direct string comparison is correctvscode-uriimportvscode/extension/src/webviews/lineagePanel.tsopenFile:Uri.parse(payload.uri)→Uri.file(payload.filePath)so special characters are treated as literal path bytes, not percent-encoded URI componentschangeFocusOnFile: sendeditor.document.uri.fsPathinstead of.toString()to keep the path unencoded end-to-endvscode/extension/src/commands/tableDiff.tsopenFilehandler with the shared type change (filePath/Uri.file)Test Plan
Manually verified via code inspection that the round-trip
URI.file(path).toString()→Uri.parse()is eliminated and replaced with a directUri.file(fsPath)call throughout both sides of the RPC contract.Checklist
make styleand fixed any issuesmake fast-test)git commit -s) per the DCOOriginal prompt
This pull request was created from Copilot chat and reviewed by @nickmuoh .