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-28489
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 16 commits
  • 2 files changed
  • 2 contributors

Commits on Nov 1, 2026

  1. test(web): reproduce #28489 composer command menu mounting every row

    The bounded-rows test fails on main: 300 skill items mount 300 rows.
    The scroll guard passes on main and pins that a highlighted row far
    down the list is brought into view once the list is windowed.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    869f450 View commit details
    Browse the repository at this point in the history
  2. fix(web): composer suggestion menu mounts only visible rows

    The `/`, `$` and `@` menu rendered every item, so a few hundred skills
    mounted hundreds of rows to show ten and each keystroke re-rendered them.
    Render rows through LegendList with Command's `virtualized` mode, as the
    branch, model and command palette pickers do, and scroll the externally
    highlighted row into view through the list ref. Unmounted rows are
    brought into the window with scrollIndexIntoView, then nudged with native
    scrollIntoView so the menu's scroll padding still applies.
    
    Fixes #28489
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    362edf8 View commit details
    Browse the repository at this point in the history
  3. fix(web): composer suggestion menu fills its first frame

    LegendList measured the list before its rows gave it height, so the
    first frame on open showed 4 rows in the full-height menu and the rest
    appeared a few frames later. Reserve the rows' minimum height on the
    list so the first measurement sees the real viewport.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    8308646 View commit details
    Browse the repository at this point in the history
  4. fix(web): composer suggestion menu keeps the highlighted row mounted

    Filtering a scrolled list left the reset highlight off-screen, and
    scrolling away unmounted the aria-activedescendant target. Pin the
    active row with LegendList's alwaysRender (refreshed via dataVersion)
    and let that row scroll itself into view when it becomes active,
    replacing the scrollIndexIntoView path that no-ops after a data change.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    842a64e View commit details
    Browse the repository at this point in the history
  5. fix(web): windowed composer options keep their position in the set

    Only a window of options is mounted, so set aria-posinset and
    aria-setsize from the full result list for assistive technology.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    8365631 View commit details
    Browse the repository at this point in the history
  6. fix(web): composer suggestion menu fades its bottom edge on open

    The fade only updated on layout and scroll, so an overflowing menu
    opened without its bottom fade until the first scroll. Update it when
    rows are measured too.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    6790557 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1124dd9 View commit details
    Browse the repository at this point in the history
  8. test(web): find composer menu rows by the skill's own name

    Main now labels skills with their own name, not a title-cased one.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 1, 2026
    Configuration menu
    Copy the full SHA
    676ecd1 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2026

  1. Configuration menu
    Copy the full SHA
    b484b02 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2026

  1. Configuration menu
    Copy the full SHA
    6d16083 View commit details
    Browse the repository at this point in the history
  2. fix(web): composer menu keyboard scrolling stays inside the list in s…

    …hort windows
    
    The list reserved its first-frame height with min-height, so a short
    window could not shrink it and the clipped menu surface overflowed; each
    row's scrollIntoView then scrolled that surface. Reserve the height as a
    shrinkable flex basis and scroll the highlighted index through Legend
    List, like the other virtualized pickers. Drop the visual-only fade and
    first-frame tests.
    
    AI-assisted; verified with the tests and tools listed above.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 10, 2026
    Configuration menu
    Copy the full SHA
    f6c1bff View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2026

  1. fix(web): short composer menus size to their rows again

    The fixed flex basis assumed 28px rows, but skill rows with a source
    badge are 30px and every row is 32px below the sm breakpoint, so short
    lists got an inner scrollbar and a clipped last row. Reserve the rows'
    minimum height only until Legend List has placed them, then let the list
    size to its content like before, so a short window can still shrink it.
    
    AI-assisted; verified with the tests and tools listed above.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    ff26eac View commit details
    Browse the repository at this point in the history
  2. fix(web): keyboard highlight in the composer menu stays clear of the …

    …fade
    
    Legend List ignores class padding and CSS scroll-padding in its scroll
    math, so a highlighted row scrolled into view ended 8px past the list's
    clip edge, under the bottom fade. Give the list its vertical padding as
    style padding and scroll with 24px viewport margins, as the command
    palette does.
    
    AI-assisted; verified with the tests and tools listed above.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    36ff64e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4ca4f5d View commit details
    Browse the repository at this point in the history
  4. fix(web): composer menu keeps the user's scroll when items refresh un…

    …changed
    
    The highlight scroll effect depended on the items array identity, so an
    equal new array (thread shells updating in the @ menu) jumped a scrolled
    list back to the highlighted row. Key it on the highlight index and the
    first item's id instead, which still re-scrolls when a filter changes.
    
    AI-assisted; verified with the tests and tools listed above.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    juliusmarminge and claude committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    1288b0a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0fcfbd6 View commit details
    Browse the repository at this point in the history
Loading