Skip to content

fix(web): detect software keyboard before handling composer Enter - #21763

Merged
Yash-Singh1 merged 2 commits into
mainfrom
t3/verify-issue-comment
Oct 19, 2026
Merged

Yash-Singh1 merged 2 commits into
mainfrom
t3/verify-issue-comment

Conversation

@Yash-Singh1

@Yash-Singh1 Yash-Singh1 commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

A narrow or zoomed desktop window disabled every composer send shortcut because the composer used viewport width to identify mobile input. It could also blur the editor after sending with a hardware keyboard.

Use software keyboard visibility instead. Web reads VirtualKeyboard geometry when supplied and falls back to Ionic's zoom-aware viewport detection. Electron bypasses detection. Plain Return inserts a newline while the software keyboard is open, modifier shortcuts remain available, and sending only blurs the editor when the software keyboard is open.

Validation: 118 focused unit tests passed, along with targeted lint, formatting, and the web typecheck. Physical mobile keyboard behavior has not been device-tested.

Implemented with GPT 6.1 Sol through the Codex harness.

Fixes #16396

- Preserve modifier shortcuts while the software keyboard is open
- Detect keyboard state from native geometry or viewport changes
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 19, 2026
@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 19, 2026
@github-actions github-actions Bot added the size:L 100-499 changed lines (additions + deletions). label Oct 19, 2026
@Yash-Singh1
Yash-Singh1 enabled auto-merge (squash) October 19, 2026 15:16
@macroscopeapp

macroscopeapp Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — This PR changes production composer Enter, submission, and focus behavior using a new cross-browser software-keyboard detector. The logic is isolated and well covered by unit tests, but physical mobile keyboard behavior remains unvalidated, warranting human review.

Notes:

  • Diff unchanged. Approvability was decided on eligibility alone.

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

@Yash-Singh1
Yash-Singh1 merged commit 34c5a6d into main Oct 19, 2026
29 of 32 checks passed
@Yash-Singh1
Yash-Singh1 deleted the t3/verify-issue-comment branch October 19, 2026 15:22
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 7e7e6d8 · PR result: 4b4ab57 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

donnes added a commit to codemode-studio/t3code that referenced this pull request Oct 19, 2026
* fix(mobile): settings no longer tell you to update when you're up to date (pingdotgg#21688)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): fix the workflow script test that times out on busy CI runners (pingdotgg#21699)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): a file shared into a new task shows in the composer before you send (pingdotgg#21659)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): a cold WSL distro gets 30 seconds to boot instead of 10 (pingdotgg#21070)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): detect software keyboard before handling composer Enter (pingdotgg#21763)

* fix(mobile): the Git sheet uses the standard list rows (pingdotgg#21785)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
joaoheusi added a commit to joaoheusi/t3code that referenced this pull request Oct 19, 2026
* fix(acp): request ids stay within signed 32-bit so Kotlin agents answer (pingdotgg#15374)

* fix(antigravity): keep the runtime version learned from ACP (pingdotgg#20980)

Co-authored-by: Paul <paul@local>

* perf(mobile): clean Android builds keep their Gradle and native caches (pingdotgg#20069)

Co-authored-by: Aaron Queen <bompus@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): clear automatic PRs from other branches (pingdotgg#20223)

* fix(server): Bitbucket threads settle after their pull request merges (pingdotgg#19937)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): a steered send no longer leaves a subagent task running (pingdotgg#19019)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(opencode): retry shared database locks during startup (pingdotgg#17922)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(server): threads no longer settle after merging PRs they were asked to merge (pingdotgg#18232)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): held assistant drafts keep their position when flushed at turn end (pingdotgg#19023)

* fix(ssh): keep draining tunnel diagnostics after readiness (pingdotgg#18832)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): threads finishing together play one completion sound (pingdotgg#17540)

* fix(mobile): a failed draft save no longer blocks sending an uploaded attachment (pingdotgg#21101)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Tejas Rahane <17571323+trahane@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): move keyboard interaction out of the closing right panel (pingdotgg#14786)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): show math labels in Mermaid diagrams (pingdotgg#16198)

* fix(web): device tool update failures show the server error, not network advice (pingdotgg#17569)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): prevent provider wizard footer overlap while loading (pingdotgg#18609)

* fix(mobile): Live Activities keep updating after iOS rotates their push token (pingdotgg#21134)

Co-authored-by: Aidid Haiqal <syafdo02@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): keep composer within folded screen without leaving the thread (pingdotgg#18574)

* fix(server): a branch on the only remote is not a fork when there is no origin (pingdotgg#20412)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): Android PR filter chips no longer crowd the sheet corner (pingdotgg#20889)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): refresh stale desktop endpoints when Connections reopens (pingdotgg#16026)

Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>

* fix(shared): preserve escaped quotes in launch arguments (pingdotgg#19525)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* fix(server): preserve explicit effort for unknown Claude models (pingdotgg#20849)

* fix(web): show No project in scratch thread breadcrumbs (pingdotgg#19721)

* fix(web): keep collapsed diff file headers reachable (pingdotgg#20333)

* fix(mobile): Chinese input no longer breaks before a skill pill on iOS (pingdotgg#17614)

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* fix(mobile): resize quota bars when filtering environments (pingdotgg#19031)

* fix(web): center composer control labels with their icons (pingdotgg#21241)

* fix(server): warn when connect unlink leaves the relay record (pingdotgg#17743)

Co-authored-by: macodev00 <macodev00@users.noreply.github.com>

* fix(mobile): sheet action buttons text alignment (pingdotgg#11260)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(shared): match Windows home paths case-insensitively in file links (pingdotgg#19627)

Co-authored-by: hogeheer499-commits <267467744+hogeheer499-commits@users.noreply.github.com>

* fix(server): t3_preview_close reports the server browser's refusal (pingdotgg#17429)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): reload the main renderer after it is killed (pingdotgg#20300)

* fix(mobile): preserve line counts for withheld pull request hunks (pingdotgg#18836)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): SSH device-host tunnels no longer inherit ControlMaster (pingdotgg#17440)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(provider-acp): stop claiming agents' own tools named like T3 tools (pingdotgg#20376)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(client-runtime): a dropped session no longer reads as a failed connection (pingdotgg#18469)

* fix(server): slow OpenCode wrappers no longer show as unavailable (pingdotgg#16544)

* fix(web): let keyboard users reach why reviewer/label changes are unavailable (pingdotgg#14785)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(server): desktop backend now exits when its launcher dies (pingdotgg#20277)

* fix(composer): paths such as /tmp/build.sh no longer open the slash menu (pingdotgg#19671)

* fix(mobile): preserve server matches in file search (pingdotgg#18388)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): refresh local status after an automatic pull fails (pingdotgg#19686)

Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com>

* fix(grok): preserve native question multi-select (pingdotgg#20881)

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* perf(web): sidebar working timers share one clock (pingdotgg#21195)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(scripts): leave type-only packages out of third-party notices (pingdotgg#14627)

* fix(web): handle Backspace when Android omits the key code (pingdotgg#18063)

* fix(server): allow restarts when a stale runtime record matches the server pid (pingdotgg#20336)

* fix(desktop): ignore snapshot shortcut repeats during flight (pingdotgg#11037)

* fix(client-runtime): queries stay pending while a connection hands off (pingdotgg#18155)

* fix(server): Muse turns stopped by the subscription quota are Limited, not failed (pingdotgg#18266)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): load merge request diffs on older GitLab (pingdotgg#15886)

* fix(server): take a delegated task's result from its newest turn item (pingdotgg#19058)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): logs print causes instead of [Object] (pingdotgg#16642)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(web): keep font picker keyboard selection in sync (pingdotgg#9814)

* fix(mobile): prevent environment row taps from swallowing switches (pingdotgg#17677)

* fix(web): new project options scroll above the footer (pingdotgg#17064)

* fix(server): stop retrying saved checkpoints after refresh failures (pingdotgg#20195)

* fix(server): MCP thread reads skip the item scan they filter to nothing (pingdotgg#17038)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): copied task lists keep their nested items and code blocks (pingdotgg#14778)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): t3 run from a T3 terminal no longer trips on the service's launcher context (pingdotgg#14263)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): keep a remote server update running when the client disconnects (pingdotgg#18980)

Co-authored-by: macodev00 <273427913+macodev00@users.noreply.github.com>
Co-authored-by: maco <macodev00@users.noreply.github.com>

* fix(relay): resolve cloudflared using the hydrated PATH (pingdotgg#19444)

* fix(mobile): branch naming text saves when you leave the screen (pingdotgg#18381)

Co-authored-by: Claude <noreply@anthropic.com>

* fix(web): custom model price cells take only numbers (pingdotgg#19245)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): standalone auth pages scroll when the card is taller than the window (pingdotgg#19603)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): discover Claude skills from add-dir launch args (pingdotgg#20167)

* fix(mobile): show assistant quotes as text in the queue sheet (pingdotgg#19007)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(server): OpenCode 2 stops writing unchanged session status updates (pingdotgg#16775)

* fix(web): give archive actions more icon spacing (pingdotgg#19769)

* fix(server): checkpoints no longer expire a split index the repo still uses (pingdotgg#17074)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): usage limit recovery errors no longer crush the composer banner (pingdotgg#17457)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): local desktop builds no longer crash when a GitHub token is in the shell (pingdotgg#19277)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): keep PR activity in place during pull-to-refresh (pingdotgg#20196)

* fix(web): a resumed subagent's notification row shows it running, not failed (pingdotgg#18099)

Co-authored-by: TinBane <363069+TinBane@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(preview): isolate tabs for threads sharing a provider session (pingdotgg#18146)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): Android sheets scroll to the end and keep their buttons on screen (pingdotgg#20284)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(shared): choose duration unit after rounding seconds (pingdotgg#20299)

* fix(mobile): the status pill label no longer flickers when it is truncated (pingdotgg#20724)

* fix(mobile): remove orphaned temp files after atomic write failures (pingdotgg#20736)

* fix(mcp): optional tool parameters accept the null their schema advertises (pingdotgg#20411)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix: database errors show actionable recovery guidance (pingdotgg#20748)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(web): stored pull request details keep only the 20 most recent (pingdotgg#21245)

* fix(server): publishing explains why the first push failed (pingdotgg#19219)

* fix(server): the V1 transcript import no longer stalls on each thread's V1 events (pingdotgg#21050)

* fix(web): a comment under a composer quote no longer joins the quote (pingdotgg#19450)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(usage): a CLIProxyAPI hub served under a path keeps its path (pingdotgg#19336)

* fix(server): agent-driven threads keep their recent rows when checkpoint data is large (pingdotgg#21187)

* fix(server): reverting a Claude thread to a subagent-only turn no longer breaks it (pingdotgg#21151)

* fix(server): forks no longer inherit pull request watches (pingdotgg#16623)

* fix(web): keep answered questions visible after a turn settles (pingdotgg#21086)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): keep scheduled-task intervals on elapsed time across DST (pingdotgg#15768)

Co-authored-by: Sayf Fadil <313136901+Sypher760-gif@users.noreply.github.com>

* fix(source-control): compare check run timestamps by instant (pingdotgg#20094)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>

* fix(web): the Diff tab keeps its scope when you switch tabs (pingdotgg#20297)

* fix(provider-core): stop false updates for versionless casks (pingdotgg#20386)

* fix(server): honor configured remote diff bases (pingdotgg#16453)

* fix(client-runtime): Update clears the block on a host that is already compatible (pingdotgg#18563)

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>

* fix(provider-cursor): a symlinked skills root is no longer scanned twice (pingdotgg#18664)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): a disabled bootstrap provider no longer stops startup (pingdotgg#20035)

* fix(server): watching a pull request again no longer repeats news the thread already got (pingdotgg#21155)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): tell users how to update an install T3 cannot update (pingdotgg#18110)

* fix(server): disabled providers no longer report missing executables (pingdotgg#18109)

* fix(server): keep workspace skills when provider health fails (pingdotgg#18309)

* fix(desktop): keypad shortcuts and Ctrl+wheel zoom the app (pingdotgg#21200)

Co-authored-by: Mnigos <56691628+Mnigos@users.noreply.github.com>

* fix(server): setup actions no longer run for threads in the main checkout (pingdotgg#18891)

* fix(web): thread drops land in the visible thread's draft (pingdotgg#20024)

Co-authored-by: Sinan <sinan@Mac-mini-von-Sinan.local>
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(server): failed Cursor turns show Cursor's reason (pingdotgg#16146)

* fix(web): honor the send shortcut for follow-up actions (pingdotgg#20929)

* fix(web): image viewer close button stays clear of the window controls (pingdotgg#13919)

* fix(server): parent Stop clears orphaned delegated follow-ups (pingdotgg#20310)

* fix(opencode): OpenCode servers stop with a killed server on Windows (pingdotgg#21103)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): preview session sync and device tool update tests run in a real browser (pingdotgg#21274)

* fix(web): recognize Windows terminal file links (pingdotgg#21199)

* fix(shared): Windows saves no longer fail while a scanner holds the file (pingdotgg#21062)

Co-authored-by: yaacovcorcos <190350601+yaacovcorcos@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): recover after Claude capability probe failures (pingdotgg#21042)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(browser): preserve native file pickers in desktop previews (pingdotgg#20994)

* fix(provider-core): pnpm-global updates approve the provider's build (pingdotgg#20796)

* fix(server): usage-limit sweep stops scanning every run each tick (pingdotgg#21191)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(provider-grok): report model windows for handoff budgets (pingdotgg#20180)

* fix(server): cancel preparing runs when archiving threads (pingdotgg#20073)

* fix(desktop): a failed macOS test capture no longer blames the GNOME extension (pingdotgg#18857)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): scrolling a huge thread's history no longer loops the message list (pingdotgg#21269)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): keep compressed image chips in their original draft (pingdotgg#18393)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): a Limits hub failure names its TLS, HTTP, or timeout cause (pingdotgg#18168)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): Claude wake runs no longer end empty while Claude is still answering (pingdotgg#15816)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): Compose input no longer adds stray quotes (pingdotgg#20350)

* fix(forgejo): wake PR watches for edited comments (pingdotgg#18120)

Signed-off-by: Marc Went <marc@went.io>

* fix(mobile): avoid nested dropdowns for single tools (pingdotgg#15674)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): apps opened from T3 Code no longer inherit ELECTRON_RUN_AS_NODE (pingdotgg#20206)

* fix(web): show an empty result when file search finds no matches (pingdotgg#17132)

* fix(azure-devops): expose the latest source revision for review guides (pingdotgg#20977)

* fix(server): read Claude context usage from stream message deltas (pingdotgg#19416)

* fix(server): stop the branch rename before cancelling worktree setup (pingdotgg#18443)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>

* fix(server): find existing PR worktrees beyond the first branch page (pingdotgg#18407)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(mobile): keep chat images visible when opening the viewer (pingdotgg#20188)

* fix(web): restore palette focus when no composer is mounted (pingdotgg#18850)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(desktop): unregistering a WSL backend now stops its supervisor (pingdotgg#18575)

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>

* fix(web,mobile): limit bars use each provider's chart color (pingdotgg#16936)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(desktop): exclude unrelated VPN addresses from Tailscale pairing (pingdotgg#15753)

Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>

* fix(server): re-snoozing a woken thread to the same wake time hides it again (pingdotgg#14887)

* fix(server): t3_thread_send reports why the orchestrator refused a message (pingdotgg#21027)

Co-authored-by: dan <dan@bw-hq-linuxws01.bellwetherit.com>

* fix(web): render stored HEIC attachments (pingdotgg#10429)

* fix(web): truncate draft project names in the middle (pingdotgg#18858)

Co-authored-by: bentbrain <28818884+bentbrain@users.noreply.github.com>

* fix(server): report missing Node on SSH device hosts instead of a connection failure (pingdotgg#20377)

* fix(server): preserve unrelated branch upstreams when opening fork PRs (pingdotgg#18413)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>

* fix(server): a Claude hook that drops a prompt now shows its reason (pingdotgg#21231)

* fix(mobile): iOS builds on Xcode 27.0 no longer fail on 27.1-only hinge APIs (pingdotgg#18913)

Co-authored-by: Jeremiah Jordan <zanson@zanson.org>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): ACP agents that need no sign-in drop models they stopped advertising (pingdotgg#18807)

* fix(source-control): fix watch failures on large forgejo PRs (pingdotgg#18432)

* fix(server): explain root browser launch failures instead of pointing to setup (pingdotgg#19846)

* fix(server): reject thread.create for an existing id (pingdotgg#19704)

* fix(server): MCP thread list and read report every linked pull request (pingdotgg#17454)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(markdown): Windows paths in messages keep their backslashes (pingdotgg#21069)

Co-authored-by: OhadC <4123639+OhadC@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* chore(lint): reject use* functions that call no hooks (pingdotgg#21260)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): replace Claude sessions that never saved a message (pingdotgg#19637)

* fix(web): terminal drawer covers the turn minimap (pingdotgg#14383)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): Claude subagents keep their model after a usage-limit notice (pingdotgg#17097)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(web): collapsed composer centers drafts that start with a list (pingdotgg#17820)

Co-authored-by: Claude <noreply@anthropic.com>

* fix(server): a full Claude context window no longer shows as a usage limit (pingdotgg#19848)

* perf(server): skip unused diffs for user-written commit messages (pingdotgg#19605)

* test(server): drop the duplicate Path import in the Grok adapter test (pingdotgg#21308)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(server): a fork that stops its own PR watch keeps it as its ended watch (pingdotgg#21309)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(server): wait for a workflow member's late reply to reach the test's event log (pingdotgg#21310)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): file browser and attachment image tests run in a real browser (pingdotgg#21297)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): branch naming and server controls settings tests load again (pingdotgg#21293)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(mobile): a completed render splits the work log into lone-call rows (pingdotgg#21295)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): settings screens compile with the React Compiler (pingdotgg#21119)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): files, review and remaining settings screens compile with the React Compiler (pingdotgg#21124)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): home, workspace layout and overlay pieces compile with the React Compiler (pingdotgg#21133)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): pull request screens compile with the React Compiler (pingdotgg#21136)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): composer, connections, add project and shared state compile with the React Compiler (pingdotgg#21137)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): new task flow, git sheets, thread settings and work log compile with the React Compiler (pingdotgg#21141)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): thread composer, route screen and queue control compile with the React Compiler (pingdotgg#21142)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): thread detail screen and navigation sidebar compile with the React Compiler (pingdotgg#21145)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): thread rows no longer re-render the list when another thread streams (pingdotgg#21255)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): composer draft no longer re-renders the thread screen when typing (pingdotgg#21261)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(mobile): ThreadFeed compiles with the React Compiler (pingdotgg#21268)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(server): send telemetry through ingest.t3.codes (pingdotgg#15028)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(devices): Android fold controls work over T3 Connect (pingdotgg#21156)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): burst-merged jsdom tests run in a real browser (pingdotgg#21318)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): keep the composer chin below the input (pingdotgg#21345)

* fix(mobile): sheets close with an X and confirm with a checkmark (pingdotgg#21319)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(tailscale): a slow tailscale status no longer hides Tailscale in Settings (pingdotgg#21057)

* chore(deps): web and mobile share React 19.3 from the catalog (pingdotgg#21376)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(server): migrate legacy thread pull request links (pingdotgg#19129)

* fix(server): a failed Codex turn no longer traps the queue behind its subagents (pingdotgg#21366)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(server): count which product features people use (pingdotgg#15921)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat(server): count which T3 MCP tools agents use (pingdotgg#15913)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* perf(web): HTML renders drop the loading skeleton (pingdotgg#21480)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(mobile): sent steer and queued messages are marked like desktop (pingdotgg#21417)

* fix(server): keep queued subagent status in sync (pingdotgg#21487)

* perf(web): virtualize large changed-file trees (pingdotgg#21482)

* fix(pull-requests): distinguish skipped checks with a slash icon (pingdotgg#21498)

* fix(mobile): crash report shows the store build number (pingdotgg#16052)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(files): load PDFs in browser previews (pingdotgg#21095)

* fix(server): device-host SSH tunnels exit when the server dies (pingdotgg#17448)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): Open in → Finder in the file preview opened the file in its default app instead of revealing it (pingdotgg#16955)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): project actions no longer reuse the right-panel terminal (pingdotgg#18340)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): the device screen keeps focus when typing or returning to the window (pingdotgg#14534)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): keep browser input responsive during slow navigation (pingdotgg#16691)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(grok): a Homebrew-installed Grok updates through brew and is compared against the cask (pingdotgg#18772)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(antigravity): read usage from each instance data directory (pingdotgg#17769)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): reconnecting no longer reopens a closed terminal (pingdotgg#18444)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(shared): preview addresses containing another URL open instead of searching (pingdotgg#17943)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): ACP Registry loads on networks with slow IPv4 connects (pingdotgg#15054)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(preview): keep desktop-rendered tabs out of idle cleanup (pingdotgg#18147)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): auto-delivered messages queue between provider turns (pingdotgg#15691)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(server): OpenCode 2 threads keep T3's tools after an idle project is evicted (pingdotgg#16796)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): install the advertised version for pnpm-global provider updates (pingdotgg#14295)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>

* fix(web): ignore right-clicks in the flat Device viewport (pingdotgg#17020)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): "No project" picker shows its full label on the new-thread screen (pingdotgg#21504)

* fix(web): up-arrow recall skips automation and agent messages (pingdotgg#21510)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(desktop): reattach a browser tab whose debugger Chromium dropped (pingdotgg#17525)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): Integrations settings show one Browser section, not two (pingdotgg#18264)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): hide the empty reset badge on unstarted limit windows (pingdotgg#18579)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(cli): browser setup installs missing fonts (pingdotgg#17570)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(web,mobile): queued messages no longer say "From queue" once sent (pingdotgg#21474)

* fix(web): refresh embedded assets in markdown file previews (pingdotgg#18647)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(web,mobile): keep reporting client activity after an interrupted report (pingdotgg#15738)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): paste terminal text once and clear the shortcut on release (pingdotgg#19366)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): fall back when checkpoint fsync is unsupported (pingdotgg#14411)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(preview): browser tabs no longer go blank when the tab list reorders (pingdotgg#13799)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(server): terminals no longer inherit the launching tmux session (pingdotgg#13359)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): gallery images shrink back into their thumbnail on close (pingdotgg#21481)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(terminal): keep project script commands out of shell history (pingdotgg#13903)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(shared): port checks no longer fail on hosts with IPv6 disabled (pingdotgg#15044)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): load iOS device streams over HTTP on Android (pingdotgg#14284)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(web): reveal folded imported responses when opening citations (pingdotgg#18423)

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): show empty sessions when weekly quota is exhausted (pingdotgg#20349)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): keep device results in the thread that started them (pingdotgg#16040)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(desktop): built-in browser sites can no longer post notifications without permission (pingdotgg#20237)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(mobile): Browser menu pastes the phone's clipboard into the page (pingdotgg#19648)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(shared): terminal labels after non-BMP letters stay plain text (pingdotgg#19968)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(connect): stop reporting a loading cloud session as a sign-in change (pingdotgg#11013)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(terminal): fish no longer stalls 10s on startup (pingdotgg#19685)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(mobile): Android terminal input no longer triggers password autofill (pingdotgg#20051)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(shared): T3 Connect devices connect to hosts with a Latvian, Lithuanian, Basque or Azerbaijani locale (pingdotgg#19616)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): thread-bound scheduled tasks run on the thread's current provider (pingdotgg#18467)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* fix(server,mobile): a message you send resumes a held queue, and mobile can resume one (pingdotgg#21473)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(web): choose the in-app browser's search engine (pingdotgg#17688)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>

* fix(mobile): settings no longer tell you to update when you're up to date (pingdotgg#21688)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* test(web): fix the workflow script test that times out on busy CI runners (pingdotgg#21699)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(mobile): a file shared into a new task shows in the composer before you send (pingdotgg#21659)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(desktop): a cold WSL distro gets 30 seconds to boot instead of 10 (pingdotgg#21070)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): detect software keyboard before handling composer Enter (pingdotgg#21763)

* fix(mobile): the Git sheet uses the standard list rows (pingdotgg#21785)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(fork): adapt fork code to upstream APIs from Oct 19 merge

* fix(fork): satisfy upstream lint rules and migration guard from Oct 19 merge

---------

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Signed-off-by: Marc Went <marc@went.io>
Co-authored-by: Igor Makowski <56691628+Mnigos@users.noreply.github.com>
Co-authored-by: Paul Jones <32859666+pauljones0@users.noreply.github.com>
Co-authored-by: Paul <paul@local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Aaron Queen <bompus@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com>
Co-authored-by: Sebastian Pugliese <73218979+RealDoc06@users.noreply.github.com>
Co-authored-by: Scott Norteman <snorteman@gmail.com>
Co-authored-by: luke <97411838+luke2x@users.noreply.github.com>
Co-authored-by: Zeus-Deus <100132710+Zeus-Deus@users.noreply.github.com>
Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com>
Co-authored-by: Alex Southwell <saphid@gmail.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Tejas Rahane <17571323+trahane@users.noreply.github.com>
Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de>
Co-authored-by: Akash Moradiya <64416825+akash3444@users.noreply.github.com>
Co-authored-by: Aidid Haiqal <aididhaiqal@users.noreply.github.com>
Co-authored-by: Aidid Haiqal <syafdo02@gmail.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: Victor Vogel <thevictorvogel@gmail.com>
Co-authored-by: Nick Anisimov <n.anisimov.23@gmail.com>
Co-authored-by: Arthur Katcher <katcherarthur07@gmail.com>
Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>
Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: Yannic Charlon <52761674+JustYannicc@users.noreply.github.com>
Co-authored-by: Greg Woulfe <47796957+gjw4118@users.noreply.github.com>
Co-authored-by: Andrei Shenets <shenets.andrei@gmail.com>
Co-authored-by: IlyaL <ilyaliao324@gmail.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: Afonso Ferreira <99990310+Aforno@users.noreply.github.com>
Co-authored-by: maco <gosarmarcel7@gmail.com>
Co-authored-by: macodev00 <macodev00@users.noreply.github.com>
Co-authored-by: Cameron Chisholm <cam@camchis.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jesse van Dijk <hogeheer499@gmail.com>
Co-authored-by: hogeheer499-commits <267467744+hogeheer499-commits@users.noreply.github.com>
Co-authored-by: ObliviousObserver <96266208+spencermorris04@users.noreply.github.com>
Co-authored-by: Killian Cazin <1305146+kcazin@users.noreply.github.com>
Co-authored-by: Joshua Whitley <josh@electrifiedautonomy.com>
Co-authored-by: Otavio Salvador <otavio@ossystems.com.br>
Co-authored-by: Joseph Vidal <135430578+josephv123@users.noreply.github.com>
Co-authored-by: Alb11747 <albertli_042@hotmail.com>
Co-authored-by: Alyx <256263590+Alyx-ML@users.noreply.github.com>
Co-authored-by: Leonel Rivas <encriptandost@gmail.com>
Co-authored-by: JIA <121747365+JIAFALSEDREAM@users.noreply.github.com>
Co-authored-by: Matthew Feroz <136640686+MatthewFeroz@users.noreply.github.com>
Co-authored-by: Tristan Knight <admin@snappeh.com>
Co-authored-by: Nicholas Tindle <nicholas.tindle@agpt.co>
Co-authored-by: Arav Jain <aravhawk@gmail.com>
Co-authored-by: hinescreative <wes@hinescreative.xyz>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adam Firestone <126423542+asfires@users.noreply.github.com>
Co-authored-by: Rohith Kadaveru <rohithkadaveru@gmail.com>
Co-authored-by: Kevin Bravo <79945749+0bkevin@users.noreply.github.com>
Co-authored-by: shshajek-cpu <shshajek@gmail.com>
Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com>
Co-authored-by: Soroush Baraouf <soroushraouf44@gmail.com>
Co-authored-by: Shawn <5414767+playcations@users.noreply.github.com>
Co-authored-by: macodev00 <273427913+macodev00@users.noreply.github.com>
Co-authored-by: James C <134711311+Exotic209093@users.noreply.github.com>
Co-authored-by: Aditya Vardhan Sharma <adityaradhika13@gmail.com>
Co-authored-by: Rakshith Bhat <88523594+RakshithBhat03@users.noreply.github.com>
Co-authored-by: Arham Mahajan <89351952+arhammahajan@users.noreply.github.com>
Co-authored-by: Nishchay M Chandra <130458023+GLDRoger@users.noreply.github.com>
Co-authored-by: Abdullah <ardudeisepic@outlook.com>
Co-authored-by: Lakshmi Tanmay <lakshmi@voltcrash.com>
Co-authored-by: Sheehan Munim <80079528+sheehanmunim@users.noreply.github.com>
Co-authored-by: Patryk Sztuczka <73931963+patryksztuczka@users.noreply.github.com>
Co-authored-by: Dominik Engelhardt <dominikengelhardt@ymail.com>
Co-authored-by: Claudesaul <139932571+Claudesaul@users.noreply.github.com>
Co-authored-by: TinBane <TinBane@users.noreply.github.com>
Co-authored-by: TinBane <363069+TinBane@users.noreply.github.com>
Co-authored-by: Tdanks2000 <40835340+TDanks2000@users.noreply.github.com>
Co-authored-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Co-authored-by: voida6 <kainth.ravdeep@gmail.com>
Co-authored-by: tiliakoos <73005126+tiliakoos@users.noreply.github.com>
Co-authored-by: Salloxy <197323176+Salloxy@users.noreply.github.com>
Co-authored-by: Derek Trimm <275381468+derektrimm@users.noreply.github.com>
Co-authored-by: Quy Ngoc Nguyen <pipyakas@gmail.com>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Ivan Malison <IvanMalison@gmail.com>
Co-authored-by: Sypher760-gif <sayffadil@gmail.com>
Co-authored-by: Sayf Fadil <313136901+Sypher760-gif@users.noreply.github.com>
Co-authored-by: RVZO6 <66844656+RVZO6@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <pujitha.rathna@gmail.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Mantas Kantautas <mantas.kantautas@gmail.com>
Co-authored-by: Ranga Prasath S R <rangaprasath22@gmail.com>
Co-authored-by: Reda Hilal <155382825+0xKa@users.noreply.github.com>
Co-authored-by: Victor Ajibade <43748536+ViaxCo@users.noreply.github.com>
Co-authored-by: Sinan Turna <sinan.turna@yahoo.com>
Co-authored-by: Sinan <sinan@Mac-mini-von-Sinan.local>
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Nikita Koynov <43469098+nkoynov@users.noreply.github.com>
Co-authored-by: David Atkins <david.atkins1998@gmail.com>
Co-authored-by: kuna <47035140+1kuna@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: yaacovcorcos <190350601+yaacovcorcos@users.noreply.github.com>
Co-authored-by: Gustavo Rosa <Gustav0ar@users.noreply.github.com>
Co-authored-by: Luís Miguel <quicksaver@gmail.com>
Co-authored-by: Johannes Bill <johannes.bill@gmail.com>
Co-authored-by: Marc Went <Dunky13@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Jord <650645+Jord-JD@users.noreply.github.com>
Co-authored-by: Tomas Johanovsky <94782578+johanovskyt@users.noreply.github.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: Camilo Paez <camilopaez.dev@gmail.com>
Co-authored-by: Charlie Lockyer <97544360+charlielockyer-rice@users.noreply.github.com>
Co-authored-by: Jonas B. <122468993+JonasFocus@users.noreply.github.com>
Co-authored-by: Dan Donathan <1904043+ddonathan@users.noreply.github.com>
Co-authored-by: dan <dan@bw-hq-linuxws01.bellwetherit.com>
Co-authored-by: Guillermo Casanova <75276669+Gigioxx@users.noreply.github.com>
Co-authored-by: Liam Cullen <liamtc@icloud.com>
Co-authored-by: bentbrain <28818884+bentbrain@users.noreply.github.com>
Co-authored-by: Jeremiah Jordan <jeremiah@apache.org>
Co-authored-by: Jeremiah Jordan <zanson@zanson.org>
Co-authored-by: Robbie <robbiethewadley@gmail.com>
Co-authored-by: Madhav Gautam <63944499+mxdhavgautam@users.noreply.github.com>
Co-authored-by: OhadC <4123639+OhadC@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: Sairaj <sairaj2119@gmail.com>
Co-authored-by: 洁月星 <jieyuexing@outlook.com>
Co-authored-by: Samuel Soeller <33049999+5knnbdwm@users.noreply.github.com>
Co-authored-by: Microck <contact@micr.dev>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com>
Co-authored-by: Mohamed Akef <1524321+mohamed-akef@users.noreply.github.com>
Co-authored-by: James Villarrubia <8172873+jamesvillarrubia@users.noreply.github.com>
Co-authored-by: Antony <97451137+TonybynMp4@users.noreply.github.com>
Co-authored-by: hayden <95017494+haydenkz@users.noreply.github.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Raphael Fakhri <153192858+RaphaelFakhri@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Sebastián Maluk <samaluk@miuandes.cl>
Co-authored-by: tobymarks <150393460+tobymarks@users.noreply.github.com>
Co-authored-by: Adrian Las <adrilasar.dev@gmail.com>
Co-authored-by: Saikrishna Ambeti <saikrisha.ambeti1@gmail.com>
Co-authored-by: Sky Hong <sky9109@gmail.com>
Co-authored-by: mohammed shazeb <mohammedshazeb10@gmail.com>
Co-authored-by: Kiera <142857464+mkiera@users.noreply.github.com>
Co-authored-by: Uzair Sajid <uzee@uzeeinc.net>
Co-authored-by: mr-joom <mr.joom@gmail.com>
Co-authored-by: Adel Khial <adel.khial@gmail.com>
Co-authored-by: Alex Chambers <alexchambers91@gmail.com>
Co-authored-by: spiky02plateau <155588579+spiky02plateau@users.noreply.github.com>
Co-authored-by: Karan Kumar <karan.8080dev@gmail.com>
Co-authored-by: project516 <138796702+Project516@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Pipyakas pushed a commit to Pipyakas/t3code that referenced this pull request Oct 19, 2026
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 19, 2026
## What's Changed
* fix(mobile): settings no longer tell you to update when you're up to date by @shivamhwp in pingdotgg/t3code#21688
* test(web): fix the workflow script test that times out on busy CI runners by @shivamhwp in pingdotgg/t3code#21699
* fix(mobile): a file shared into a new task shows in the composer before you send by @shivamhwp in pingdotgg/t3code#21659
* fix(desktop): a cold WSL distro gets 30 seconds to boot instead of 10 by @SunkenInTime in pingdotgg/t3code#21070
* fix(web): detect software keyboard before handling composer Enter by @Yash-Singh1 in pingdotgg/t3code#21763
* fix(mobile): the Git sheet uses the standard list rows by @juliusmarminge in pingdotgg/t3code#21785
* fix(server): changed files keep their real paths for renames and non-ASCII names by @Atharvsinh-codez in pingdotgg/t3code#20175
* fix(server): a message promoted into a stopping run stays queued by @lbgos in pingdotgg/t3code#16926
* perf(mobile): streaming re-renders less on the open thread screen by @juliusmarminge in pingdotgg/t3code#20963
* feat(usage): show even-pace marks on Limits bars by @flamboh in pingdotgg/t3code#14477
* fix(web): Usage hourly labels follow the Time format setting by @mInrOz in pingdotgg/t3code#15575
* fix(web): stop repeating the subagent name in the waiting banner by @saphid in pingdotgg/t3code#16022
* fix(web): Cmd+O no longer opens the editor more than once by @5knnbdwm in pingdotgg/t3code#18983
* fix(web): hoist favorited legacy models to the top of the model picker by @TonybynMp4 in pingdotgg/t3code#11933
* fix(server): a rollback blocked by Git's index lock says so instead of a generic error by @shivamhwp in pingdotgg/t3code#11340
* fix(mobile): expanded tool-call groups keep following new calls by @nekohasekai in pingdotgg/t3code#15747
* fix(web): going back in the command palette keeps the search that led there by @saphid in pingdotgg/t3code#15940
* fix(web): changing a project's model no longer keeps the old model's options by @yaacovcorcos in pingdotgg/t3code#16581
* fix(web): preserve snapshot thumbnail context and detail by @maria-rcks in pingdotgg/t3code#18440
* fix(web): keep expanded tool actions usable from the keyboard by @saphid in pingdotgg/t3code#18831
* fix(usage): Claude usage no longer lists a `<synthetic>` model by @tris203 in pingdotgg/t3code#14672
* fix(server): release webhook claims when acceptance fails by @saphid in pingdotgg/t3code#18820
* fix(desktop): make the annotation editor border and shadow actually render by @PollyGlot in pingdotgg/t3code#9406
* fix(server): Claude follow-ups no longer fail in Auto on models without Auto by @Gigioxx in pingdotgg/t3code#15687
* fix(web): reopening Connections picks up new network addresses by @lnieuwenhuis in pingdotgg/t3code#15840
* fix(client): MCP apps can no longer trap you in full screen; it opens only after a tap by @shivamhwp in pingdotgg/t3code#18548
* fix(web,mobile): disabled provider instances no longer badge their siblings by @tris203 in pingdotgg/t3code#14545
* fix(web): threads open at the newest message, not thousands of pixels above it by @t3dotgg in pingdotgg/t3code#19663
* fix(mobile): report rejected shared settings writes by @juliusmarminge in pingdotgg/t3code#9356
* fix(claude): show automatic compaction while it runs by @maria-rcks in pingdotgg/t3code#15631
* fix(web): keep the parent thread highlighted while viewing its subagent by @saphid in pingdotgg/t3code#15163
* fix(web): show pull request checkout error detail by @saphid in pingdotgg/t3code#15007
* fix(server): mark unvisited thread completions unread by @maria-rcks in pingdotgg/t3code#15607
* fix(web): started threads no longer offer a machine picker that does nothing by @tris203 in pingdotgg/t3code#19900
* fix(web): provider model names no longer get cut off by their slug by @ilyaliao in pingdotgg/t3code#16522
* fix(claude): mid-sentence skill chips keep the full request by @ScottN-PV in pingdotgg/t3code#15253
* fix(web): preserve unsaved keybinding edits when saving another binding by @pnupu in pingdotgg/t3code#11109
* fix(connections): retry unsupported saved direct connections by @none23 in pingdotgg/t3code#15107
* fix(web): show readable messages for structured thread errors by @juliusmarminge in pingdotgg/t3code#21483
* fix(web): custom shortcuts work when Local environment is off by @Mnigos in pingdotgg/t3code#15825
* fix(web): keep thread notification tags within the Windows toast limit by @satyalyadav in pingdotgg/t3code#12289
* fix(web): pinned thread marker stays put when hovering the row by @flamboh in pingdotgg/t3code#11122
* fix(web): keep a typed question answer when you open a new thread by @Gigioxx in pingdotgg/t3code#13865
* fix(web): renumber following items when continuing a plain-Markdown numbered list by @saphid in pingdotgg/t3code#14332
* fix(web): clicking a logged request route no longer opens it in the editor by @lnieuwenhuis in pingdotgg/t3code#15838
* fix(desktop): reject offscreen annotation screenshot crops by @maria-rcks in pingdotgg/t3code#18441
* fix(web): NVDA browse mode reaches the new-thread project picker again by @akj in pingdotgg/t3code#17877
* fix(web): stop composer banner glass overlap by @t3-code[bot] in pingdotgg/t3code#8034
* fix(web): keep pasted decorators as text by @Gigioxx in pingdotgg/t3code#8415
* fix(shell): avoid interactive job control in environment probes by @LouisDeconinck in pingdotgg/t3code#11275
* fix(web): a closed proactive diff stays closed when you return to a thread by @ilyaliao in pingdotgg/t3code#14705
* fix(web): render powerline separators at cell edges by @SadriG91 in pingdotgg/t3code#5607
* fix(server): provider failures say why a turn could not start by @saphid in pingdotgg/t3code#16303

## New Contributors
* @Atharvsinh-codez made their first contribution in pingdotgg/t3code#20175
* @lbgos made their first contribution in pingdotgg/t3code#16926
* @yaacovcorcos made their first contribution in pingdotgg/t3code#16581
* @pnupu made their first contribution in pingdotgg/t3code#11109
* @LouisDeconinck made their first contribution in pingdotgg/t3code#11275
* @SadriG91 made their first contribution in pingdotgg/t3code#5607

**Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261019.3360...v0.1.1-nightly.20261019.3373

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261019.3373
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 19, 2026
## What's Changed
* fix(mobile): settings no longer tell you to update when you're up to date by @shivamhwp in pingdotgg/t3code#21688
* test(web): fix the workflow script test that times out on busy CI runners by @shivamhwp in pingdotgg/t3code#21699
* fix(mobile): a file shared into a new task shows in the composer before you send by @shivamhwp in pingdotgg/t3code#21659
* fix(desktop): a cold WSL distro gets 30 seconds to boot instead of 10 by @SunkenInTime in pingdotgg/t3code#21070
* fix(web): detect software keyboard before handling composer Enter by @Yash-Singh1 in pingdotgg/t3code#21763
* fix(mobile): the Git sheet uses the standard list rows by @juliusmarminge in pingdotgg/t3code#21785
* fix(server): changed files keep their real paths for renames and non-ASCII names by @Atharvsinh-codez in pingdotgg/t3code#20175
* fix(server): a message promoted into a stopping run stays queued by @lbgos in pingdotgg/t3code#16926
* perf(mobile): streaming re-renders less on the open thread screen by @juliusmarminge in pingdotgg/t3code#20963
* feat(usage): show even-pace marks on Limits bars by @flamboh in pingdotgg/t3code#14477
* fix(web): Usage hourly labels follow the Time format setting by @mInrOz in pingdotgg/t3code#15575
* fix(web): stop repeating the subagent name in the waiting banner by @saphid in pingdotgg/t3code#16022
* fix(web): Cmd+O no longer opens the editor more than once by @5knnbdwm in pingdotgg/t3code#18983
* fix(web): hoist favorited legacy models to the top of the model picker by @TonybynMp4 in pingdotgg/t3code#11933
* fix(server): a rollback blocked by Git's index lock says so instead of a generic error by @shivamhwp in pingdotgg/t3code#11340
* fix(mobile): expanded tool-call groups keep following new calls by @nekohasekai in pingdotgg/t3code#15747
* fix(web): going back in the command palette keeps the search that led there by @saphid in pingdotgg/t3code#15940
* fix(web): changing a project's model no longer keeps the old model's options by @yaacovcorcos in pingdotgg/t3code#16581
* fix(web): preserve snapshot thumbnail context and detail by @maria-rcks in pingdotgg/t3code#18440
* fix(web): keep expanded tool actions usable from the keyboard by @saphid in pingdotgg/t3code#18831
* fix(usage): Claude usage no longer lists a `<synthetic>` model by @tris203 in pingdotgg/t3code#14672
* fix(server): release webhook claims when acceptance fails by @saphid in pingdotgg/t3code#18820
* fix(desktop): make the annotation editor border and shadow actually render by @PollyGlot in pingdotgg/t3code#9406
* fix(server): Claude follow-ups no longer fail in Auto on models without Auto by @Gigioxx in pingdotgg/t3code#15687
* fix(web): reopening Connections picks up new network addresses by @lnieuwenhuis in pingdotgg/t3code#15840
* fix(client): MCP apps can no longer trap you in full screen; it opens only after a tap by @shivamhwp in pingdotgg/t3code#18548
* fix(web,mobile): disabled provider instances no longer badge their siblings by @tris203 in pingdotgg/t3code#14545
* fix(web): threads open at the newest message, not thousands of pixels above it by @t3dotgg in pingdotgg/t3code#19663
* fix(mobile): report rejected shared settings writes by @juliusmarminge in pingdotgg/t3code#9356
* fix(claude): show automatic compaction while it runs by @maria-rcks in pingdotgg/t3code#15631
* fix(web): keep the parent thread highlighted while viewing its subagent by @saphid in pingdotgg/t3code#15163
* fix(web): show pull request checkout error detail by @saphid in pingdotgg/t3code#15007
* fix(server): mark unvisited thread completions unread by @maria-rcks in pingdotgg/t3code#15607
* fix(web): started threads no longer offer a machine picker that does nothing by @tris203 in pingdotgg/t3code#19900
* fix(web): provider model names no longer get cut off by their slug by @ilyaliao in pingdotgg/t3code#16522
* fix(claude): mid-sentence skill chips keep the full request by @ScottN-PV in pingdotgg/t3code#15253
* fix(web): preserve unsaved keybinding edits when saving another binding by @pnupu in pingdotgg/t3code#11109
* fix(connections): retry unsupported saved direct connections by @none23 in pingdotgg/t3code#15107
* fix(web): show readable messages for structured thread errors by @juliusmarminge in pingdotgg/t3code#21483
* fix(web): custom shortcuts work when Local environment is off by @Mnigos in pingdotgg/t3code#15825
* fix(web): keep thread notification tags within the Windows toast limit by @satyalyadav in pingdotgg/t3code#12289
* fix(web): pinned thread marker stays put when hovering the row by @flamboh in pingdotgg/t3code#11122
* fix(web): keep a typed question answer when you open a new thread by @Gigioxx in pingdotgg/t3code#13865
* fix(web): renumber following items when continuing a plain-Markdown numbered list by @saphid in pingdotgg/t3code#14332
* fix(web): clicking a logged request route no longer opens it in the editor by @lnieuwenhuis in pingdotgg/t3code#15838
* fix(desktop): reject offscreen annotation screenshot crops by @maria-rcks in pingdotgg/t3code#18441
* fix(web): NVDA browse mode reaches the new-thread project picker again by @akj in pingdotgg/t3code#17877
* fix(web): stop composer banner glass overlap by @t3-code[bot] in pingdotgg/t3code#8034
* fix(web): keep pasted decorators as text by @Gigioxx in pingdotgg/t3code#8415
* fix(shell): avoid interactive job control in environment probes by @LouisDeconinck in pingdotgg/t3code#11275
* fix(web): a closed proactive diff stays closed when you return to a thread by @ilyaliao in pingdotgg/t3code#14705
* fix(web): render powerline separators at cell edges by @SadriG91 in pingdotgg/t3code#5607
* fix(server): provider failures say why a turn could not start by @saphid in pingdotgg/t3code#16303

## New Contributors
* @Atharvsinh-codez made their first contribution in pingdotgg/t3code#20175
* @lbgos made their first contribution in pingdotgg/t3code#16926
* @yaacovcorcos made their first contribution in pingdotgg/t3code#16581
* @pnupu made their first contribution in pingdotgg/t3code#11109
* @LouisDeconinck made their first contribution in pingdotgg/t3code#11275
* @SadriG91 made their first contribution in pingdotgg/t3code#5607

**Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261019.3360...v0.1.1-nightly.20261019.3373

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261019.3373
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.

[Bug][Web] Enter shortcuts do not send messages in mobile layout

2 participants