fix(review): widen fix-handoff-render's code-span delimiter for backtick paths - #9353
fix(review): widen fix-handoff-render's code-span delimiter for backtick paths#9353galuis116 wants to merge 1 commit into
Conversation
…ick paths markdownPathCodeText backslash-escaped an embedded backtick, which Markdown does not honor inside code spans -- the escaped backtick still closed the span early, corrupting the rendered fix-handoff block. Now mirrors unified-comment-bridge.ts's markdownPathCode: choose a delimiter longer than any backtick run in the value. Callers (buildFixHandoffBlock, fixHandoffAggregateItem) use the function's own delimiter-wrapped output directly instead of re-wrapping it in a hardcoded backtick.
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-27 14:03:30 UTC
Review summary Nits — 5 non-blocking
CI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests)). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Summary
markdownPathCodeTextinsrc/review/fix-handoff-render.tstried to make a finding's path safe for an inline markdown code span by backslash-escaping a backtick. CommonMark/GFM code spans are delimited by a run of backticks, not affected by a preceding backslash — a backslash-escaped backtick still prematurely closes the span, so afinding.pathcontaining a literal backtick corrupted the rendered fix-handoff block.src/review/unified-comment-bridge.ts(markdownPathCode,markdownChangedFilePath): compute a code-span delimiter longer than any backtick run found inside the value, instead of trying to escape backticks.markdownPathCodeTextnow returns the full delimiter-wrapped span itself (matchingmarkdownPathCode's return shape).buildFixHandoffBlock,fixHandoffAggregateItem) previously re-wrapped the result in a hardcoded single backtick — updated to use the function's own delimiters directly, mirroring howunified-comment-bridge.ts's callers already consumemarkdownPathCode's return value.|,<,>is preserved unchanged — only the backtick-handling strategy changed.src/review/unified-comment-bridge.tsitself was not touched (already correct, the precedent to copy from).Because the rendered format changed (the code span now has spaces around the value and, when a path has no embedded backtick, uses the same single-backtick-with-spaces style
markdownPathCodeuses), several pre-existing tests acrosstest/unit/fix-handoff-render.test.ts,test/unit/fix-handoff-collapsible.test.ts, andtest/unit/queue-4.test.tsasserted on the old tight`path:line`string and needed their expected strings updated to match the new, correct rendering — verified by grepping the whole test suite for every consumer ofbuildFixHandoffBlock/buildFixHandoffAggregateBlock's rendered output, not just the two files this issue named.Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlinttsc --noEmit(roottsconfig.json's full flag set) against every changed file — cleannpx vitest run test/unit/fix-handoff-render.test.ts test/unit/fix-handoff-collapsible.test.ts test/unit/queue-4.test.ts— 146/146 passing, including a new test case with afinding.pathcontaining a literal backtick (asserting the rendered code span widens to two backticks and stays unbroken) and a new test case covering the preserved</>/|entity-escapingsrc/review/fix-handoff-render.ts— 100% statements/branches/functions/linesIf any required check was skipped, explain why:
npm run typecheck/npm run test:coverage(unsharded) reliably OOM in this sandbox regardless of diff size — a known sandbox resource constraint documented across many prior PRs, not a signal about this change. The scoped typecheck and 100%-branch scoped coverage above stand in for it.Safety
UI Evidencesection below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.UI Evidence
This is a backend-only markdown-rendering fix (
src/review/fix-handoff-render.ts) with no rendered UI delta — before and after are the same production capture at each required viewport.apps/loopover-uiis dark-mode-only, so only the Dark row per viewport applies.Notes
src/review/unified-comment-bridge.ts:722(markdownPathCode) and:624(markdownChangedFilePath).