Repository navigation
feat(web): add compact file chip paths - #8825
ricardosalta wants to merge 7 commits into
Conversation
Keep basename-only labels as the default and add a client-local setting that renders workspace paths with ./, home paths with ~/, and other paths absolutely. Preserve line and column positions and document the option.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (11)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughAdds the ChangesFile chip path display
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant SettingsPanels
participant ClientSettings
participant ChatMarkdown
participant FilePathDisplay
participant FileLinkChip
SettingsPanels->>ClientSettings: Update showFileLinkPaths
ClientSettings-->>ChatMarkdown: Notify settings change
ChatMarkdown->>FilePathDisplay: Format file chip label
FilePathDisplay-->>ChatMarkdown: Return compact or short label
ChatMarkdown->>FileLinkChip: Render updated label
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The file-chip path preference appears ready to merge after normal checks; no unresolved behavior issue is established. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The option is off by default and changes file labels rather than file-access permissions. The inspected behavior preserves existing action checks. No introduced security concern was established, but persistence recovery and integration coverage remain incomplete. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error)
✅ Passed checks (4 passed)
Full details: ApprovabilityExplanation The pull request adds a new user workflow: a persisted Settings → General → File chip paths option that changes ChatMarkdown chip rendering. This matches the rule "Adds a subsystem or user workflow." The change is implemented in
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a new opt-in file-chip display capability, including substantial cross-platform path formatting and integration across chat rendering, settings, persistence, and contracts. Existing defaults remain unchanged, but the feature’s scope and shared-code integration warrant human review. You can add or adjust custom eligibility rules. Learn more. |
Merge upstream main without rewriting the published PR branch. Preserve scoped settings restore, streaming controls and jsdom tests while retaining compact path labels. Validation prerequisite: pinned frozen dependency install is rejected by the unchanged supply-chain policy. Focused tests, lint and typecheck remain unrun pending an explicitly approved isolated exception. git diff --check passes.
|
⌾ Refreshed this PR against main Validation on the exact commit passed 331 focused tests, changed-file formatting, canonical lint and full web typecheck in a disposable Linux worker with a frozen lockfile and install scripts disabled. Lint has zero errors and the same 11 upstream warning diagnostics; the new missing The current-head CI run and preview workflows require maintainer approval. Please approve those Actions runs when convenient. Maintenance: GPT-6.1-Sol through the Codex harness. |
What Changed
Added a client-local Settings → General → File chip paths option. The existing short labels remain the default; enabling the option renders workspace files with
./, other files under the inferred home directory with~/, and unrelated files as absolute paths. Line and column positions stay attached.The formatter handles POSIX, Windows drive, and UNC paths without generating parent-relative labels. Paths containing
.or..stay absolute because resolving them safely requires the filesystem that owns the workspace. The setting participates in search, persistence, and Restore defaults. This option applies to web and desktop; mobile keeps its existing basename-only renderer.Why
File-name-only chips hide which directory a referenced file belongs to. Duplicate names get a parent suffix, and the full path is available on hover, but users who scan long agent responses still have to stop and inspect each chip. This keeps the compact default while giving path-oriented workflows an explicit, persistent alternative.
UI Changes
Before — default short labels:
After — File chip paths enabled:
Verification
git diff --check, the actual ChatMarkdown suite, and full web typecheck pass.@pierre/diffspatch was applied to the disposable dependency tree before the affected suite and direct full web typecheck passed.main, the exact new artifact passed a fresh hostile re-audit, including the upstream citation/directive changes inChatMarkdown.This is a direct feature PR without prior maintainer approval. I understand the contributor guide prefers an Ideas proposal for non-trivial features and that maintainers may close unsolicited feature PRs.
Checklist
Model: GPT-5.6 Sol · Harness: Codex in T3 Code.