Skip to content

fix(web): stop held dictation when shortcut modifiers are released - #32648

Merged
juliusmarminge merged 4 commits into
pingdotgg:mainfrom
mrlufepines:t3/dictation-modifier-release
Nov 15, 2026
Merged

juliusmarminge merged 4 commits into
pingdotgg:mainfrom
mrlufepines:t3/dictation-modifier-release

Conversation

@mrlufepines

@mrlufepines mrlufepines commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Problem

On macOS, releasing the dictation shortcut can leave recording running in Hold mode or after a long press in Auto mode. The hook only recognizes the initiating letter's keyup, which macOS can suppress while Command is held. The composer stays frozen and the microphone keeps recording until another stop/cancel or the recording limit.

Repro with the default shortcut:

  1. Select Hold mode and press Command+Shift+D.
  2. Release D while still holding Command, then release the modifiers.
  3. Recording should stop when the chord is released. Before this fix, it continues because no D keyup arrives.

The same sequence affects Auto when held for at least 300 ms.

Change

Remember the modifiers held when dictation starts and treat the release of any of them as the end of that chord. Unrelated key releases are ignored. The existing Auto tap/hold threshold, Toggle behavior, startup promise, and generation guard remain in use, so a hold released while the microphone is preparing stops once startup completes.

This shared web hook is also used by the desktop client. Desktop preview guest forwarding still filters modifier releases and was not verified by this change. There are no mobile, provider, wire-contract, connection-mode, or settings changes.

This takes the same approach as #31720, which its author closed without merging. Credit to Keaton-tv for that proposal; this version was written against current main after reading its diff.

Scope and approval

This qualifies for CONTRIBUTING.md's exception for a very small, focused fix for an obvious bug: Hold already promises to stop on release, but the release event available on macOS is ignored. The change only recognizes the end of the existing shortcut chord in the hook and extends its adjacent tests. It introduces no new capability, setting, default, or workflow and fixes one underlying problem.

Verification

Base: freshly fetched upstream/main at 25bf84ab07f53f141c20239c63e383823a9d5ea0.

  • Added tests before changing the hook. vp test run apps/web/src/speech/useDictationShortcut.browser.test.tsx on the unchanged implementation: 5 failed, 4 passed. Failures included Meta/Shift release during startup and Hold/Auto release without a letter keyup.
  • The same command after the fix: 9 passed in Chromium on macOS. Tests exercise missing letter keyup, unrelated letter/modifier releases, the Auto boundary at 299/300 ms, Toggle, later releases not stopping twice, and delayed microphone startup. The clock is mocked and startup is resolved explicitly, with no sleeps or timeouts.
  • vp run check:changed: passed formatting, lint, both knip checks, affected typechecks, focused browser tests, and the affected React compiler check.

The original browser tests omit the letter keyup to exercise the sequence the hook receives. The current-head real-client pass below verifies recording capture and modifier release on Linux. Native macOS event delivery and physical speech transcription remain unverified. No visual layout changes are included.

Written by GPT-6.1 Sol in Codex, driven from T3 Code.

takeover verification at e712fd7

merged current main without rebasing and resolved the adjacent browser-test conflict by retaining both the modifier-release cases and main's escape-routing cases. the diff remains two files; no production changes beyond the contributor's fix.

  • blacksmith: vp run check:changed github/main passed format, lint, both knip passes, affected typechecks, all 14 shortcut browser tests, and the react compiler check.
  • real linux chrome client with the downloaded parakeet model and a pulseaudio input: releasing shift/control while d remained held stopped hold-mode recording and preserved the draft. unrelated letter/alt releases kept recording; escape cancelled and preserved the draft. no fake media APIs or mocked services.
  • both independent read-only reviews approved this exact head. no bot findings or unresolved review threads. git.cafe reports mergeable with 33 successful checks and no pending or failed checks.
  • native macos key delivery, physical speech transcription, desktop preview guest key forwarding, native mobile, and remote connections remain unverified. desktop preview forwarding remains outside this two-file change.

held dictation stops after modifier release while the draft stays intact

@github-actions github-actions Bot added vouch:unvouched Author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Nov 7, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 0714939

Macroscope's review found this PR approvable — Held dictation now finishes when an activation modifier is released, addressing missing letter-key release events on macOS. Existing mode rules and recording lifecycle safeguards remain unchanged.

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

@coderabbitai

coderabbitai Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

Dictation shortcut presses now retain the modifier keys held at startup. Releasing the original key or a recorded modifier ends the press; unrelated key releases do not. Browser tests cover modifier releases in hold and auto modes at different durations.

Changes: Dictation shortcut release handling

Layer / File(s) Summary
Track and handle modifier releases
apps/web/src/speech/useDictationShortcut.ts, apps/web/src/speech/useDictationShortcut.browser.test.tsx
The hook records active modifiers when a press starts and ends the press when the original key or a recorded modifier is released. Browser tests cover modifier releases in hold and auto modes at specified durations.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: juliusmarminge

Merge Risk: Minimal · up to 3f074

Releasing a held modifier now stops dictation, which fixes the stuck-recording case on macOS. The change is narrow and tested, and no merge-blocking risk is identified.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the main change: dictation stops when held shortcut modifiers are released. It follows the conventional commit format and matches the two-file change (the hook and its browser tests). …
Description check Passed The description follows the template. It covers Problem (macOS suppresses the letter keyup, so Hold and Auto recording keeps running), Change (remember held modifiers and end the chord on their releas…
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.
Full details: Title check

Explanation

The title names the main change: dictation stops when held shortcut modifiers are released. It follows the conventional commit format and matches the two-file change (the hook and its browser tests). It is specific enough for a teammate scanning history.

Full details: Description check

Explanation

The description follows the template. It covers Problem (macOS suppresses the letter keyup, so Hold and Auto recording keeps running), Change (remember held modifiers and end the chord on their release), Scope (a small fix for an obvious bug, with the CONTRIBUTING.md exception argued), and Verification (failing-then-passing tests, check:changed results, a real Linux Chrome client run, and unverified areas). The template's comment about the agent model line is covered by the 'Written by' line. The Scope section links no issue. It cites a prior PR (#31720) and says a maintainer request is not involved. The reviewer may still want an issue link to show the bug, as the template asks.

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between e712fd7 and 3f07448.

Files selected for processing: 1

  • apps/web/src/speech/useDictationShortcut.browser.test.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.

@maria-rcks

maria-rcks commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

takeover verification at e712fd7

merged current main without rebasing and resolved the adjacent browser-test conflict by retaining both the modifier-release cases and main's escape-routing cases. the diff remains two files; no production changes beyond the contributor's fix.

  • blacksmith: vp run check:changed github/main passed format, lint, both knip passes, affected typechecks, all 14 shortcut browser tests, and the react compiler check.
  • real linux chrome client with the downloaded parakeet model and a pulseaudio input: releasing shift/control while d remained held stopped hold-mode recording and preserved the draft. unrelated letter/alt releases kept recording; escape cancelled and preserved the draft. no fake media APIs or mocked services.
  • both independent read-only reviews approved this exact head. no bot findings or unresolved review threads. git.cafe reports mergeable with 33 successful checks and no pending or failed checks.
  • native macos key delivery, physical speech transcription, desktop preview guest key forwarding, native mobile, and remote connections remain unverified. desktop preview forwarding remains outside this two-file change.

held dictation stops after modifier release while the draft stays intact

earlier verification at 0714939

verified the web flow as-is at 07149390d1ce2a97b5a3a40d90caa3393ea16358 on a linux boat vm, using repo playwright and /usr/bin/google-chrome against vp run dev. main and the pr ran separately, with isolated state and only one dev server running at a time.

  • on github/main (6c9adfb2739205244b84e607736f6fd8b4611e69), hold mode kept recording after releasing control and shift without a d keyup. on the pr, the same sequence stopped recording. these were trusted browser keyboard events; d keyup was withheld until after the observation.
  • hold also stopped on normal d release. unrelated letter/modifier releases left recording running. escape cancelled and preserved the draft.
  • auto long presses stopped on modifier release. an auto tap below 300 ms kept recording, then stopped on the next press. toggle kept recording after release and stopped on the next press.
  • created the project and threads through the app against the real git repo. real codex gpt-6.1-sol turns completed on both versions. after the pr release check, the composer submitted another turn and received composer works after dictation release.
  • downloaded the real parakeet model through voice settings. capture used the vm's silent pulseaudio monitor exposed as an input source, without fake media APIs or mocked services. stopping removed chrome's active capture stream and displayed the expected no speech detected result.
  • all 9 existing shortcut browser tests passed through blacksmith. the existing head has 31 successful ci checks. no source changes or pushes were needed.

before, after, and the 6-second interaction recording use matching conversation/draft data. uploaded images, video playback, and seeking were checked.

main: recording continues after modifier release

pr: modifier release stops recording and preserves the draft

hold dictation stops when shift and control are released without d keyup

Not verified

  • native macos command-key suppression, physical microphone input, spoken transcription accuracy, windows, native mobile, and remote/tunnel connections were not exercised on this linux vm. the linux release sequence verifies the hook behavior, not macos event delivery.
  • native desktop preview annotation dictation was not exercised. source inspection found that apps/desktop/src/preview/PickPreload.ts still forwards only the initiating letter's keyup, so modifier releases may never reach this hook on that path. this web verification does not establish that the desktop annotation case is fixed.

…-release

# Conflicts:
#	apps/web/src/speech/useDictationShortcut.browser.test.tsx
@juliusmarminge juliusmarminge added the takeover:in-progress A takeover lead is working on this PR label Nov 15, 2026
@juliusmarminge

Copy link
Copy Markdown
Member

Evidence

Real web app in Linux Chromium, 1280×800, light theme, fresh synthetic state on each commit, local Parakeet transcription and synthetic microphone tone. MacIntel platform and omission of D keyup emulate the reported macOS stream.

In a new-thread composer containing draft before dictation, hold Meta+Shift+D for 2.5 seconds, release only Shift and Meta, and wait six seconds. Repeat in Hold and Auto. The ordinary D-keyup control stops on both commits. Auto taps and Toggle keep recording until explicitly cancelled on both commits.

Proven: scenarios:prove exited 0; the scenario failed on base and passed on head.

Interaction Before: 015eba4083 After: 3f07448ec3
Hold, six seconds after modifier release Before: still recording at 0:08 After: recording stopped, No speech heard
Auto long press, six seconds after modifier release Before: still recording at 0:08 After: recording stopped, No speech heard
Auto tap continues recording Before: Auto tap remains recording After: Auto tap remains recording
Toggle continues recording Before: Toggle remains recording After: Toggle remains recording
Full scripted interaction Before recording After recording

Scenario source · Runner proof

Not shown:

  • Native macOS suppression of the letter keyup was not exercised; the reported event stream was deliberately emulated in Linux Chromium by withholding D keyup.
  • Release during deliberately delayed microphone startup and dictation in other editors were not separately exercised.

@juliusmarminge juliusmarminge added takeover:ready Takeover done; auto-lands when gates pass and removed takeover:in-progress A takeover lead is working on this PR labels Nov 15, 2026
@juliusmarminge
juliusmarminge merged commit 147de34 into pingdotgg:main Nov 15, 2026
50 checks passed
@juliusmarminge juliusmarminge removed the takeover:ready Takeover done; auto-lands when gates pass label Nov 15, 2026
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Nov 15, 2026
**v0.1.10-nightly.20261115.4736** · 95 changes from 43 contributors

- **Large terminal pastes.** Paste large amounts of text into the terminal without the paste being rejected.
- **Faster Codex skills.** Codex skills appear faster when opening or switching workspaces.
- **Faster long threads.** Long threads open about 2.5 times faster.
- **Image attachments.** Distinct pasted images with matching attachment details are no longer silently collapsed into one.
- **Selected-file commits.** Committing selected files preserves merge conflicts in other files.
- **Long-lived drafts.** Images in older drafts are recovered before sending if their uploads have expired.
- **Optional questions.** Submit agent questions without filling in optional text fields.

### Plus 82 more bug fixes and performance improvements.

<details>
<summary>Full changelog</summary>

## What's Changed
* fix(web): sidebar edge uses the same resize cursor as side panels by @tenyoru in pingdotgg/t3code#33083
* fix(web): attach command palette threads outside the sidebar by @Yash-Singh1 in pingdotgg/t3code#37054
* fix(server): status reports no branch while a clone has not checked out HEAD by @juliusmarminge in pingdotgg/t3code#37041
* perf(scripts): check:changed on Windows no longer spends minutes walking node_modules (2,500 s → 5.0 s) by @Pyseph in pingdotgg/t3code#32023
* perf(web): answering a question no longer re-renders the whole chat view by @OmarAlex24 in pingdotgg/t3code#32324
* perf(server): command palette status rows skip the Changes totals they never show by @Yuruzuu in pingdotgg/t3code#32351
* fix(web): PR file order follows alias imports of dotted modules by @jancuk in pingdotgg/t3code#32364
* fix(acp): a failed MCP-over-ACP disconnect can be retried by @notzenco in pingdotgg/t3code#33069
* fix(web): settle check lines up with row timestamps by @sergiiopm in pingdotgg/t3code#33053
* fix(provider-core): handoff work reserve fits small context windows by @MiaAI-Lab in pingdotgg/t3code#32598
* fix(mobile): video previews survive re-signed URLs and a late-attached player item by @bartlomiejbloniarz in pingdotgg/t3code#32196
* fix(mobile): honor Android clock format in message timestamps by @razzeee in pingdotgg/t3code#33078
* fix(shared): .localdomain hosts no longer leak to the favicon service by @mrlufepines in pingdotgg/t3code#32657
* fix(web): collapsing Electron main no longer hides the backend server by @thepradipvc in pingdotgg/t3code#32619
* test: remove duplicate client call-site coverage by @t3-code-bot[bot] in pingdotgg/t3code#36776
* fix(github): pull request activity reports a rate-limited review-thread read instead of hiding its threads by @only21mil in pingdotgg/t3code#32620
* fix(web): stacked composer banners no longer show dark seam bands by @Pulsar-Programmer in pingdotgg/t3code#32683
* fix(web): draft images keep their order after a reload by @only21mil in pingdotgg/t3code#32709
* fix(web): open PDF links in the file viewer by @Yash-Singh1 in pingdotgg/t3code#37064
* fix(server): a selected-file commit keeps other files' merge conflicts by @only21mil in pingdotgg/t3code#33115
* fix(web): a file opened from a diff in a project folder inside a repository opens that file by @Entrpi in pingdotgg/t3code#32684
* test(web): ACP project picker test waits for the popup to take focus by @seancarnahan in pingdotgg/t3code#33061
* fix(web): stop held dictation when shortcut modifiers are released by @mrlufepines in pingdotgg/t3code#32648
* perf(web): resting on a PR row also reads its activity, so the timeline shows on click by @Bil0000 in pingdotgg/t3code#32842
* fix(server): agents can see whether a thread is pinned by @shadizx in pingdotgg/t3code#32727
* fix(server): a pushed commit no longer reports failure when the final git status read fails by @only21mil in pingdotgg/t3code#32705
* test(web): the streaming render scenario gives the timeline stable props by @Entrpi in pingdotgg/t3code#32792
* fix(web): HTML file previews use the current canvas color by @Yash-Singh1 in pingdotgg/t3code#37072
* fix(web): an image-only send that fails behind a new draft now says so by @only21mil in pingdotgg/t3code#32732
* fix(assets): align app icons and retain a folder placeholder while loading by @Yash-Singh1 in pingdotgg/t3code#37067
* fix(github): pull request activity says when its comments were cut by @only21mil in pingdotgg/t3code#32707
* test(github): activity mock sets the new truncated flag by @juliusmarminge in pingdotgg/t3code#37078
* fix(server): a branch's own pull request shows past a hundred same-named fork pull requests by @only21mil in pingdotgg/t3code#32796
* fix(server): an effect this build can't read no longer blocks its thread's later work by @only21mil in pingdotgg/t3code#32746
* fix(acp-registry): a failed agent install no longer floods provider status with its whole log by @only21mil in pingdotgg/t3code#32800
* fix(web): terminal reports focus changes to programs that request them by @StiensWout in pingdotgg/t3code#37066
* fix(web): remove redundant subagent action from background row by @Yash-Singh1 in pingdotgg/t3code#37079
* fix(web): a side chat's subagent opens its parent as a side chat tab, not a bare page by @Yuruzuu in pingdotgg/t3code#32907
* fix(shared): inline code paths like `docker/Dockerfile` become file chips by @felixlaga in pingdotgg/t3code#32402
* fix(web): Esc in Clerk's account modal no longer closes Settings by @thepradipvc in pingdotgg/t3code#32859
* fix(mobile): show thread sync status in the header, not above the composer by @juliusmarminge in pingdotgg/t3code#37076
* fix(mobile): undo toast lines up with the folded Duo's tab bar by @juliusmarminge in pingdotgg/t3code#37081
* fix(desktop): Stable switch no longer tells policy-blocked nightly apps to reinstall by hand by @only21mil in pingdotgg/t3code#32609
* fix(web): live dictation transcript keeps the newest words in view by @SharoonRafeek in pingdotgg/t3code#32960
* fix(server): preserve shell paths containing spaces and dashes by @StiensWout in pingdotgg/t3code#37069
* perf(server): batch terminal output that arrives within 2 ms by @juliusmarminge in pingdotgg/t3code#37060
* perf(desktop): WSL preflight starts the staged runtime once instead of twice by @juliusmarminge in pingdotgg/t3code#37052
* fix(mobile): worktree setup shows in the chat from the first moment by @juliusmarminge in pingdotgg/t3code#37084
* fix(server): an MCP pin lands at the top of the Pinned section by @xwchen in pingdotgg/t3code#33978
* fix(mobile): keep Diagnostics and Client Storage content above floating tabs by @j-gaertig in pingdotgg/t3code#32821
* fix(acp-registry): observe delayed model discovery and avoid stale cache lock by @hxbib in pingdotgg/t3code#33170
* test(web): Settings Esc test waits for the modal's initial focus by @juliusmarminge in pingdotgg/t3code#37089
* fix(claude): keep monitor threads waiting between updates by @Yash-Singh1 in pingdotgg/t3code#37085
* fix(mobile): the iPhone Duo's sidebar list ends above its tab bar in portrait by @juliusmarminge in pingdotgg/t3code#37091
* fix(web): switching providers no longer drops the thread's stored effort by @only21mil in pingdotgg/t3code#33090
* fix(mobile): PR activity filter remembers bot and resolved visibility by @juliusmarminge in pingdotgg/t3code#37096
* fix(web): terminal links open bare compiler filenames by @StiensWout in pingdotgg/t3code#37071
* fix(acp): optional text questions can be left blank by @shivamhwp in pingdotgg/t3code#36997
* fix(shared): MCP apps that fall back to a blob: frame no longer render blank by @u9g in pingdotgg/t3code#32129
* fix(shared): keep coalescing workers alive when processors throw by @luke2x in pingdotgg/t3code#32178
* fix(server): an empty Antigravity MCP config still allows text generation by @saphid in pingdotgg/t3code#36496
* perf(server): active thread reads filter on the archived_at column by @mahirozdin in pingdotgg/t3code#28992
* perf(resource-monitor): look up external process identities by PID by @hieu-lee in pingdotgg/t3code#31202
* fix(server): accept ASCII whitespace in base64 image payloads by @darshmahadevia in pingdotgg/t3code#31798
* perf(server): Codex skills for four workspaces load in a median 138 ms instead of 1,657 ms (12x) by @Yuruzuu in pingdotgg/t3code#33972
* fix(web): recover expired composer uploads before sending by @Adamulek123 in pingdotgg/t3code#32910
* fix(server): content search recovers after a slow first index by @ItsThierry in pingdotgg/t3code#33138
* fix(terminal): show shell startup failures across attachments by @StiensWout in pingdotgg/t3code#37088
* perf(server): long threads open about 2.5x faster by @valuin in pingdotgg/t3code#34014
* fix(mobile): inline markdown images page through their message's images by @juliusmarminge in pingdotgg/t3code#37117
* fix(mobile): /model suggestion opens the model picker by @StiensWout in pingdotgg/t3code#37109
* fix(desktop): release cancelled Codex callback listeners during browser launch by @romil-bijarnia in pingdotgg/t3code#29734
* perf(server): skip compression for the desktop's local connection by @voltcrash in pingdotgg/t3code#30832
* fix(server): outside MCP clients stop being offered thread-bound tools by @RVZO6 in pingdotgg/t3code#32764
* fix(ssh): preserve literal home paths in Include expansion by @Lucenx9 in pingdotgg/t3code#33288
* fix(server): finish closed terminal kills before shutdown by @StiensWout in pingdotgg/t3code#37113
* fix(web): keep distinct images with matching attachment metadata by @StiensWout in pingdotgg/t3code#37116
* fix(web): large terminal pastes reach the program intact by @StiensWout in pingdotgg/t3code#37103
* fix(server): settling a thread keeps exec and foreground Bash terminals open by @juliusmarminge in pingdotgg/t3code#37125
* fix(codex): keep browser access prompts available in full access by @Yash-Singh1 in pingdotgg/t3code#37104
* fix(web): open terminal file links naming the server hostname by @StiensWout in pingdotgg/t3code#37133
* fix(mobile): recheck the current branch before selecting it by @StiensWout in pingdotgg/t3code#37121
* fix(acp): wait for session/load to reply before prompting by @shivamhwp in pingdotgg/t3code#37139
* fix(web): terminal mouse reports hit the drawn cell by @StiensWout in pingdotgg/t3code#37148
* fix(server): run_scheduled_task_now returns why a started run failed by @SouthCarpet in pingdotgg/t3code#37149
* fix(azure-devops): pull request titles like `@notes.txt` are saved as typed by @juliusmarminge in pingdotgg/t3code#37110
* fix(web): Sharing & access can select a desktop-local WSL backend by @juliusmarminge in pingdotgg/t3code#37151
* fix(mobile): pasted GIFs on iOS keep their animation by @StiensWout in pingdotgg/t3code#37143
* fix(acp): Copilot's reply after a background agent wakes it opens a continuation run by @juliusmarminge in pingdotgg/t3code#37159
* fix(shared): ß no longer splits words in generated folder and branch names by @lowlyleon in pingdotgg/t3code#37152
* fix(server): name the missing project when a change request's repository has none by @Sidreyas in pingdotgg/t3code#37161
* fix(server): an oversized provider request reads as too large, not raw 413 HTML by @Sidreyas in pingdotgg/t3code#37156
* fix(provider-acp): Grok early task completion no longer replaces the child's answer by @juliusmarminge in pingdotgg/t3code#37162
* fix(web): keypad navigation works with NumLock off by @StiensWout in pingdotgg/t3code#37175

## New Contributors
* @tenyoru made their first contribution in pingdotgg/t3code#33083
* @mrlufepines made their first contribution in pingdotgg/t3code#32657
* @thepradipvc made their first contribution in pingdotgg/t3code#32619
* @Pulsar-Programmer made their first contribution in pingdotgg/t3code#32683
* @seancarnahan made their first contribution in pingdotgg/t3code#33061
* @shadizx made their first contribution in pingdotgg/t3code#32727
* @SharoonRafeek made their first contribution in pingdotgg/t3code#32960
* @xwchen made their first contribution in pingdotgg/t3code#33978
* @j-gaertig made their first contribution in pingdotgg/t3code#32821
* @hxbib made their first contribution in pingdotgg/t3code#33170
* @ItsThierry made their first contribution in pingdotgg/t3code#33138
* @lowlyleon made their first contribution in pingdotgg/t3code#37152

**Full Changelog**: pingdotgg/t3code@v0.1.10-nightly.20261115.4723...v0.1.10-nightly.20261115.4736

</details>


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

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched Author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants