fix(git): display quoted Unicode paths - #670
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Greptile SummaryThis PR decodes Git C-quoted UTF-8 pathname bytes while retaining parser-safe patch headers and propagates exact paths through core, OpenTUI, source-loading, and session surfaces.
Confidence Score: 4/5The tab-width rendering defect should be fixed before merging because valid decoded filenames can corrupt OpenTUI header and sidebar layout. Exact decoded tab characters now reach renderers that preserve tabs but measure them as one terminal cell, so clipping and padding can diverge from the displayed width. Files Needing Attention: src/opentui/model.ts and the shared terminal path-rendering utilities Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
Git[Git or external patch] --> Normalize[Normalize parser-safe headers]
Normalize --> Parse[Pierre patch parser]
Normalize --> Exact[Decode exact quoted paths]
Parse --> Model[Diff metadata]
Exact --> Model
Model --> Core[Core source loading]
Model --> OpenTUI[OpenTUI models]
Model --> Session[Session APIs]
OpenTUI --> Sanitize[Terminal display sanitization]
Session --> Sanitize
Prompt To Fix All With AI### Issue 1
src/opentui/model.ts:82
**Decoded tabs break width accounting**
When a tracked filename contains a tab encoded by Git as `\t`, this assignment exposes the literal tab to shared file-header and sidebar renderers; their sanitizer preserves tabs while width calculations count each tab as one cell, causing terminal expansion to corrupt alignment and push statistics outside their allocated columns.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "fix(git): decode quoted Unicode paths" | Re-trigger Greptile |
benvinegar
force-pushed
the
fix/unicode-git-paths
branch
from
August 5, 2026 14:42
4cd068f to
8cc7d8e
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.
Summary
Closes #667.
Before
After
Both screenshots use the same staged rename with Git's default
core.quotePath=truebehavior.Testing
bun run typecheckbun run lintbun run test:integration: 87 passedbun run test:tty-smoke: 9 passedThe unrestricted
bun testcommand still discovers website Playwright specs under Bun and encounters unrelated existing test-runner failures; all affected and integration suites pass.This PR description was generated by Pi using OpenAI GPT-5.4