Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pingdotgg/t3code
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: pingdotgg/t3code
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fix/issue-16455
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 2 files changed
  • 2 contributors

Commits on Oct 22, 2026

  1. test(server): refuse PR worktree checkout in another repository's che…

    …ckout
    
    Regression test for #16455.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    52a3ab6 View commit details
    Browse the repository at this point in the history
  2. fix(server): PR checkout refuses a project that is not a checkout of …

    …its repository
    
    A pull request read may borrow any project on its host, so Check out and a
    linked PR's Fix could fetch another repository's pull request into an
    unrelated checkout, adding fork remotes and worktrees there. Before any Git
    mutation, preparePullRequestThread now requires a configured remote of the
    base repository named by the host's canonical PR URL, or of the head fork.
    
    Checkout fixtures declare their GitHub identity through the existing
    insteadOf rewrite helper, and a fork-only clone keeps working.
    
    Fixes #16455
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    ae1a340 View commit details
    Browse the repository at this point in the history
  3. feat(server): webhook filters fan out over arrays with a [] path wild…

    …card
    
    A filter path segment ending in [] resolves to the list of every element's
    value, so a task can run only when, say, an issue carries a given label:
    {path: 'body.issue.labels[].name', op: 'equals', value: 'needs more info'}.
    equals, in and startsWith match when any element does, notEquals only when
    none equals the value, exists when the list is not empty. Placeholders
    accept the same syntax and render the list.
    
    Before this, filters could only compare scalars and arrays satisfied
    exists alone, so a GitHub issue_comment hook had to wake the bound thread
    on every comment in the repository and let the agent discard the rest.
    
    Co-Authored-By: Claude Fable 5.1 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    a50cd98 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ebe3e15 View commit details
    Browse the repository at this point in the history
  5. fix(server): PR checkout accepts insteadOf shorthand remotes

    The checkout guard only compared raw remote URLs, so a remote such as
    `gh:acme/app` was refused even though `insteadOf` expands it to
    github.com/acme/app. Compare both raw config and `git remote -v` URLs.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    6f8fcb6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3ce96ed View commit details
    Browse the repository at this point in the history
  7. fix(server): PR checkout accepts GitHub SSH host alias remotes

    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    0ad50b9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    89ae33f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    060ffe0 View commit details
    Browse the repository at this point in the history
  10. fix(server): PR checkout guard honors server ports and Forgejo SSH hosts

    An HTTP remote on another port of the PR's host is a different server
    (Forgejo keeps one login per host:port), so it no longer passes the guard.
    Remotes that only their provider maps to the web host, such as a Forgejo SSH
    host, are compared through the provider's refined repository identity.
    Register the fixture seeder with Knip and keep the fixture to its one root.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    9d5ed8e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3f162dd View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4f61cbc View commit details
    Browse the repository at this point in the history
  13. fix(server): mounted PR forks only match their serving root

    A Forgejo PR served under `/git` also accepted a fork checkout at the
    same owner/name on the host's root, which can be a different server.
    The head repository is now only looked for under the base's serving
    root; SSH remotes that omit the mount still match through provider
    refinement.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    7ec918e View commit details
    Browse the repository at this point in the history
  14. fix(server): type mounted PR test scenarios and accept resolved /tmp …

    …in fixture seeder
    
    Annotate the mounted Forgejo PR test scenarios as FakeGhScenario so their
    state literal no longer widens to string (TS2322/TS2345 in CI typecheck).
    The PR handoff fixture seeder now compares the resolved root against the
    resolved /tmp, so macOS's /private/tmp passes, and rejects /tmp itself.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    21d4399 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2026

  1. Merge origin/main into fix/issue-16455

    Port the checkout guard onto the source control definition registry and
    provider web host resolution, and drop the reproduction fixture.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    2f77add View commit details
    Browse the repository at this point in the history
  2. fix(server): type the PR checkout guard's identity refinement

    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    d610dfd View commit details
    Browse the repository at this point in the history
  3. fix(server): PR checkout guard admits Origin, own-repository and fork…

    …-clone checkouts
    
    Pass the checkout provider's kind to identity refinement so Cursor Origin
    maps its git host to its browser host, skip the guard for bare-number
    references that only resolve in the checkout's own repository, and accept
    a same-named repository under the PR's serving root as a fork clone.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    fe06601 View commit details
    Browse the repository at this point in the history
  4. fix(server): PR checkout guard asks the host about renamed checkouts

    Before refusing, look the PR number up in the checkout's own repository
    and accept when the host answers with the same pull request, so a remote
    that still names a renamed repository is recognised.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    efc861d View commit details
    Browse the repository at this point in the history
Loading