Repository navigation
fix(composer): open PR completion after opening brackets - #1
Conversation
Recognize Unicode opening punctuation before # and share PR trigger matching across web, desktop, and mobile. Preserve surrounding brackets when inserting a completion. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> (cherry picked from commit f9430b7)
Exclude opening square brackets from context-link labels so inserting a PR inside square brackets does not consume the surrounding opening bracket. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> (cherry picked from commit b52b804)
Keep checkout default read-only credentials until post-job cleanup, avoiding fatal traversal of undeclared vendored gitlinks before validation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use origin/main workflow verbatim, removing the duplicate composer-branch checkout workaround. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@coderabbitai full review |
Action performed
|
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@coderabbitai full review Follow-up after integrating current fork main: please substantively review latest head 29bb8e6. The automatic incremental run was skipped with "No files to review", while completed full-review coverage still names 63f6a52. The net diff is still the five composer files. This is a latest-head re-review request after the completed initial review, not a duplicate initial trigger. |
Action performed
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@coderabbitai full review Latest-head follow-up after the previous substantive full review completed cleanly: fork main advanced with the separately reviewed Azure DevOps checks PR, now integrated at a72be5a. Please review the five-file composer diff against current main; this ensures substantive coverage of the actual final head, not merely a no-files incremental skip. |
Action performed
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@coderabbitai full review The preceding full review finished cleanly on a72be5a, while the final serialized main integration is e692607. Its automatic incremental check skipped with no new files. Please substantively review this latest head's five-file composer diff against b445f5a. Latest-head Fork PR validation has passed. Main is now held stable, so no further integration is expected before completion. |
Action performed
|
Problem
Typing
(#or[#in the composer does not open pull request completion. Token-start-only matching rejects references after opening brackets, and inserting a reference inside square brackets can consume the surrounding opening bracket.Change
Port pingdotgg#30296 (pingdotgg#30296) by freshly cherry-picking its two feature commits,
f9430b73ec1f07e66257e1f5a866d543ab7b867dandb52b804d8ba579174193a0426ecc05b9bdb90214. The original commits are ancestors of fork main but were reverted inac9a65b0be; this restores only their five-file composer change, not the unrelated Azure DevOps integration fix.Share the PR matcher across web/desktop and mobile's shared detector. Permit Unicode opening punctuation before
#, retain the existing query syntax and word/ordinary URL hash exclusions, and start replacement exactly at#. Exclude opening square brackets from context-link labels to preserve surrounding brackets on insertion.Retain the newer slash, currency, and side-chat parsing and tests; the only cherry-pick conflict was combining
parseSideChatCommandandreplaceTextRangeimports. Preserve the original authorship and Copilot co-author trailers. No workflow, dependency, contract, provider, or documentation behavior changes in the net PR diff.The first hosted run exposed a shared checkout blocker before installation or validation. The fork owner corrected it separately on main in
852618b095. Main was merged normally in63f6a524b7, discarding this branch's duplicate workaround; the PR's workflow matches main exactly, and its net diff remains the five composer files.Scope and approval
The fork owner explicitly approved this port in the owning T3 Code thread: "Own the port of pingdotgg#30296 ... into amv146/t3code" and "merge into amv146/t3code main ONLY when latest-head readiness is established." This is one of the five separately requested fork PRs, including upstream drafts. The approval applies only to this fork; the upstream PR and its original branch remain untouched.
This is a focused repair of existing PR completion and directly coupled context-link parsing, not a new capability.
Verification
Local Windows validation on the port head:
nullfor(#,[#, and【#修正, reproducing the defect. After the picks, dependency-free Node assertions passed for exact bracketed trigger ranges/replacement, word and URL exclusions, currency and slash-path exclusions, and retained/btwparsing.git diff origin/main --check- passed.vp test run packages\shared\src\composerTrigger.test.ts packages\shared\src\composerContextReferences.test.ts apps\web\src\composer-logic.test.ts apps\web\src\composer-editor-mentions.test.ts apps\web\src\composer-rich-text-doc.test.ts- blocked before tests ran: the local workspace has novite-plusinstallation.vp run check:changed origin/main- blocked before checks ran by the same missing workspace dependencies.vp install --frozen-lockfile- failed: the corporate package feed returned HTTP 404 for@alchemy.run/testduring the existing supply-chain policy check. No policy bypass, registry workaround, manifest change, or lockfile change was made.GitHub-hosted validation on the previous head
63f6a524b71372927372020f1f98fedf76c5bea7:vp run check:changed "$BASE"withBASE=852618b095a70cf480d99831708eb40f18f4c240- passed. Format, lint, both knip stages, 34 affected-package typechecks, selected tests, and React Compiler coverage all passed. Chromium installation succeeded.The initial run failed before installation/tests with
fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules. The separate main fix852618b095is now integrated, with no duplicate workflow workaround retained. Legacy upstream Blacksmith jobs and all validation policies are retained unchanged.CodeRabbit's substantive full review covered all five changed files through
63f6a524b71372927372020f1f98fedf76c5bea7and reported no actionable comments.Fork main subsequently advanced with the separate glass-opacity port. It was integrated by normal merge
29bb8e6e791294c992dc4f5f2637131314e87b9a; the net composer diff is still the same five files.vp run check:changed "$BASE"withBASE=668c823825ec172e158add923c7f09951e97e356- passed. All stages passed again, including 152 tests across four files and 34 affected-package typechecks.CodeRabbit's follow-up substantive full review covered all five files on
29bb8e6e791294c992dc4f5f2637131314e87b9a, completed successfully, and again reported no actionable findings.Main then advanced with the separate Azure DevOps checks port. Normal merge
a72be5a9e5preserves that work while retaining the same five-file composer diff. CodeRabbit's substantive full review of that head completed cleanly. Macroscope is suspended and is not part of the review gate.The fork owner serialized the remaining merges and provided final target
b445f5ae88f863645a32eef79a9172c8dd2ac60d, including the separate location-cache port. Normal mergee69260754f10953224da703b0d1928a3cc7d6542contains that target, with the same five-file net composer diff and no workflow changes.vp run check:changed "$BASE"withBASE=b445f5ae88f863645a32eef79a9172c8dd2ac60d- passed, including all stages, 152 tests across four files, and 34 affected-package typechecks.CodeRabbit's final substantive full review completed successfully on
e69260754f10953224da703b0d1928a3cc7d6542, covering all five changed files againstb445f5ae88f863645a32eef79a9172c8dd2ac60d, with no actionable findings. The review's explicit coverage metadata names this exact head; this is not a trigger acknowledgment or an incremental skip.At completion readiness, the branch contains freshly fetched main, no review threads or change-request votes remain, and GitHub reports no configured branch-protection/ruleset requirements or required checks. The latest-head Fork PR validation and CodeRabbit checks both succeeded. The unrelated native-fingerprint Blacksmith job remains queued and is not a configured required gate; no check was disabled or bypassed. CodeRabbit's included-limit warning does not establish whether this review incurred billing; no billing was enabled or further triggers issued after the owner's no-paid-review instruction.
The five existing focused suites listed above are retained without static UI or duplicate-layer tests. The original upstream PR records 427 passing tests across these suites and integrated composer verification; those are historical upstream results, not validation of this fork head.
Reused upstream UI evidence, captured for the original implementation in an isolated Windows web client through T3 Code's Browser panel. These are not new fork captures. The web composer is also used by desktop; native mobile and the Electron shell were not separately exercised. No real browser was opened for this port, and no live userdata or shared pqtest browser was used.
Before: no selector after an opening parenthesis.
After: selector opens and displays the real repository PR.
After selection: both surrounding square brackets are preserved.
Upstream condensed interaction recording:
pr-selector-ui-verification-redacted.mp4
Ported with GPT-6.1 Sol through GitHub Copilot in T3 Code's acpRegistry harness. No subagents.