Skip to content

feat(web): group keybindings settings by area with a page toolbar - #12822

Merged
maria-rcks merged 10 commits into
pingdotgg:mainfrom
maria-rcks:feat/keybindings-settings-groups
Oct 6, 2026
Merged

maria-rcks merged 10 commits into
pingdotgg:mainfrom
maria-rcks:feat/keybindings-settings-groups

Conversation

@maria-rcks

@maria-rcks maria-rcks commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

the keybindings page now groups bindings by area and keeps search, add, and json actions in a responsive toolbar. filtering hides empty groups; editing, reset, scopes, and the add form retain their existing behavior. counts remain removed.

verified through the real web client with agent-browser: filtering, escape, add/cancel, and a shortcut edit saved through the server followed by reset to mod+b. blacksmith passed 26 existing logic tests, web typecheck, and scoped lint. the editor-helper suite also passed 45 tests with 1 skipped; native editor launch and desktop/mobile remain unverified.

original matched dark captures use pre-change 58f8981 and original head 5427762. the capture and recording use 87dade0; the final head 30e3446 has the same web source and includes main's ci service repairs. main adds further default bindings and scope controls.

before: original flat keybindings page with default bindings

after: original grouped page with the same default bindings

current head: grouped keybindings and toolbar after integrating main

current head: filter terminal bindings, clear with escape, and add then cancel a binding

updated with gpt-6.1-sol via codex in t3 code.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 21, 2026
Comment thread apps/web/src/components/settings/KeybindingsSettings.tsx Outdated
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 21, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 30e3446

Macroscope's review found this PR approvable — This is a contained keybindings-settings UI reorganization that groups existing rows and moves existing actions into a responsive toolbar. Persistence, editing actions, and server contracts remain unchanged, with the new grouping logic covered by tests.

Notes:

  • All code in this push has already been reviewed. Approvability was decided on eligibility alone.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: bf8f76f6-0631-4b5d-94bf-48221851a825

📥 Commits

Reviewing files that changed from the base of the PR and between a2c84ee and 5427762.

📒 Files selected for processing (1)
  • apps/web/src/components/settings/KeybindingsSettings.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/web/src/components/settings/KeybindingsSettings.tsx

Included review availability: Your plan provides up to 10 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The keybinding settings panel now groups rows by command area, displays an always-visible search input, and renders separate sections for grouped bindings, add-binding controls, and empty search results.

Changes

Keybinding settings

Layer / File(s) Summary
Grouping contract and classification
apps/web/src/components/settings/KeybindingsSettings.logic.ts, apps/web/src/components/settings/KeybindingsSettings.logic.test.ts
Added KeybindingGroup and groupKeybindingRows. Rows are classified by command prefixes, returned in fixed order, and tested for ordering, filtering, and composer inclusion.
Search input and panel controls
apps/web/src/components/settings/KeybindingsSettings.tsx
Replaced the collapsible search with an always-visible input. Escape clears non-empty queries and blurs empty queries. Mod+F focuses and selects the input directly. The browser notice now uses a tooltip-wrapped warning icon button.
Grouped section rendering
apps/web/src/components/settings/KeybindingsSettings.tsx
Replaced the flat list with grouped SettingsSection components. The add-binding form and empty state render in separate SettingsGroup components.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant KeybindingsSearchInput
  participant KeybindingsSettings
  participant groupKeybindingRows
  participant KeybindingsGroups
  KeybindingsSearchInput->>KeybindingsSettings: update search query
  KeybindingsSettings->>groupKeybindingRows: group filtered rows
  groupKeybindingRows-->>KeybindingsSettings: return ordered non-empty groups
  KeybindingsSettings->>KeybindingsGroups: render grouped rows
Loading
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 3 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description explains the change and verification, and includes before-and-after screenshots. It does not provide the required scope approval or explain why the change qualifies for an exemption. Add a link to the triaged issue or discussion with explicit maintainer approval of the direction and scope. If this is a focused fix that qualifies for the exemption, explain why it is an obvious bug fix; otherwise, provide the required app…
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: grouping keybindings by area and adding a page toolbar.
Full details: Description check

Resolution

Add a link to the triaged issue or discussion with explicit maintainer approval of the direction and scope. If this is a focused fix that qualifies for the exemption, explain why it is an obvious bug fix; otherwise, provide the required approval.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@macroscopeapp
macroscopeapp Bot dismissed their stale review September 21, 2026 01:17

Dismissing prior approval to re-evaluate 3542d0c

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 21, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 21, 2026 01:33

Dismissing prior approval to re-evaluate 926de96

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 21, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 21, 2026 01:39

Dismissing prior approval to re-evaluate a2c84ee

@macroscopeapp

This comment has been minimized.

Comment thread apps/web/src/components/settings/KeybindingsSettings.tsx
Comment thread apps/web/src/components/settings/KeybindingsSettings.tsx
@macroscopeapp

This comment has been minimized.

@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 1, 2026 — with ChatGPT Codex Connector
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 1, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 6, 2026 15:30

Dismissing prior approval to re-evaluate 2ea9812

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 6, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 6, 2026 15:40

Dismissing prior approval to re-evaluate 87dade0

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 6, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 6, 2026 15:45

Dismissing prior approval to re-evaluate 30e3446

@maria-rcks
maria-rcks merged commit 72d5c32 into pingdotgg:main Oct 6, 2026
33 checks passed
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 7, 2026
## What's Changed
* fix(web): show attempted paths in file preview errors by @maria-rcks in pingdotgg/t3code#15628
* fix(vcs): passive sidebar rows stop retaining remote pollers by @maria-rcks in pingdotgg/t3code#15666
* feat(web): group keybindings settings by area with a page toolbar by @maria-rcks in pingdotgg/t3code#12822
* feat(web): stop T3-owned subagents from Lineage by @Bil0000 in pingdotgg/t3code#15211
* feat(web): add fast actions to linked pull requests by @maria-rcks in pingdotgg/t3code#16627
* feat(web): open right panel tab menu with Mod+T by @Bil0000 in pingdotgg/t3code#15686
* fix(server): provider sessions clean up when their start is interrupted by @juliusmarminge in pingdotgg/t3code#15571
* fix(web): show "No project" near the top of the new thread picker by @juliusmarminge in pingdotgg/t3code#16628
* refactor(server): instrument WS RPCs in group middleware by @juliusmarminge in pingdotgg/t3code#15548
* chore(deps): upgrade @pierre/diffs to 1.5.2 and @pierre/trees to beta.6 by @juliusmarminge in pingdotgg/t3code#16644
* fix(relay): a host restarting onto a deleted tunnel gets a new one by @juliusmarminge in pingdotgg/t3code#16649
* fix(server): recover a deleted tunnel when Cloudflare says "Tunnel not found" by @juliusmarminge in pingdotgg/t3code#16648
* fix(web): iPhone Duo fold controls follow the phone's orientation by @gabrielelpidio in pingdotgg/t3code#16630
* fix(web): keep workspace options when expanding lineage by @maria-rcks in pingdotgg/t3code#16635
* fix(web): preserve bare anchor placeholders in markdown by @maria-rcks in pingdotgg/t3code#16637
* fix(pi): preserve provider identity in discovered models by @maria-rcks in pingdotgg/t3code#16661
* fix(auth): preserve explicitly granted pairing scopes by @juliusmarminge in pingdotgg/t3code#9785
* feat(auth): separate environment administration permissions by @juliusmarminge in pingdotgg/t3code#9786
* feat(auth): separate source control write permissions by @juliusmarminge in pingdotgg/t3code#9787
* feat(auth): separate filesystem read and write permissions by @juliusmarminge in pingdotgg/t3code#9788
* feat(auth): separate browser preview control permissions by @juliusmarminge in pingdotgg/t3code#9789
* feat(auth): separate diagnostics and usage permissions by @juliusmarminge in pingdotgg/t3code#9790
* feat(auth): allow passive terminal observation by @juliusmarminge in pingdotgg/t3code#9791
* fix(auth): keep old clients connected across scope changes by @juliusmarminge in pingdotgg/t3code#10298
* feat(server): hosted agents like ChatGPT can sign in to the T3 MCP server by @juliusmarminge in pingdotgg/t3code#16718


**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261006.2752...v0.0.46-nightly.20261007.2761

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261007.2761
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants