Skip to content

fix(server): update fff to stop runaway watcher rescans - #14543

Merged
Yash-Singh1 merged 4 commits into
pingdotgg:mainfrom
realhasanshoaib:fix/fff-watcher-rescan-throttle
Oct 11, 2026
Merged

Yash-Singh1 merged 4 commits into
pingdotgg:mainfrom
realhasanshoaib:fix/fff-watcher-rescan-throttle

Conversation

@realhasanshoaib

@realhasanshoaib realhasanshoaib commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #10628

Problem

Fixes #14536

When a project is a big non-git folder that keeps changing, the backend stays at 60–190% CPU even when T3 Code is idle. The file-search library, fff 0.9.4, starts a full rescan of the whole folder after almost any burst of file changes, and nothing limits how often that happens. A burst can be more than 1024 changed paths, an FSEvents rescan flag, or any .gitignore edit. Full details, stack samples and a repro harness are in #14536.

This fixes watcher rescan throttling only. A separate upstream cost remains: binary detection reads changed files to the end (dmtrKovalenko/fff#895).

Change

fff fixed the rescan loop upstream in dmtrKovalenko/fff#751. That change adds a throttle: watcher rescans wait at least 30 seconds, and 5 minutes for non-git roots with 1M or more files. The first release with it is 0.10.3. This PR moves T3 to the current release, 0.11.0.

File Why
apps/server/package.json, pnpm-lock.yaml @ff-labs/fff-node 0.9.4 → 0.11.0. The lockfile diff only touches fff packages.
patches/@ff-labs__fff-node@0.11.0.patch, pnpm-workspace.yaml Moves T3's existing patch to the new version. 0.11.0 ships separate index.cjs and index.js builds. As before, the patch sends require to the ESM build, so the server and its tests share one module instance. It also keeps the app.asar.unpacked native-binary lookup, now in dist/index.js.
scripts/build-desktop-artifact.ts and its test The Windows native-load probe pointed at dist/src/index.js, which no longer exists. It now points at dist/index.js.

The fff API that T3 calls is unchanged between these versions; 0.11.0 only adds watch(). So there are no server code changes.

Scope and approval

This fixes one problem: runaway rescans in the pinned native dependency. Bug report and evidence: #14536. The PR doesn't touch product behavior, and it's complementary to #11500, which keeps a partial index on scan timeout.

Verification

Problem and fix, measured. I ran a standalone harness with the exact FileFinder.create options from WorkspaceSearchIndex.ts on a real 1.65M-file ~/code folder with live agent activity. It also writes and deletes 1500 files under node_modules every 20 s. Each version ran for about 4 minutes on an Apple M4. The harness is in #14536.

fff-node full scans CPU used average load
0.9.4 7 in 240 s 191 s 80% of a core
0.11.0 4 in 291 s 137 s 47% of a core (−41%)

Readiness refresh (2026-10-02): merged current main 54084ae1e into the existing PR branch, preserving the current Expo patches when resolving the lockfile/workspace conflicts. The PR still changes only the seven files above. The update is a normal fast-forward from the existing head; no history rewrite is needed.

Checks on refreshed head dcff125e3, run on a separate Apple M4 test host with Node 24.13.1 / pnpm 11.10.0:

  • Frozen-lockfile installation: passed.
  • Workspace and desktop-artifact tests: 137 passed across 5 files (62 workspace + 75 artifact tests).
  • Server and scripts tsc --noEmit: passed; existing Effect suggestions only.
  • Targeted lint for the artifact script and test: 0 warnings, 0 errors.
  • One scoped Codex CLI review (GPT-6.1-Sol, high reasoning): no actionable regressions. The reviewer also checked native loading, shared require/import identity, index warmup and search. After main advanced, the same scoped change was retained and the focused checks were re-run.

Packaged Electron native-load evidence: an isolated minimal macOS arm64 fixture used Electron 44.4.2 and the exact patched fff-node package/dependency closure from this lockfile. It ran from an actual app.asar with native .node / .dylib files unpacked. The fixture asserted packaged-app mode, shared require/import identity, an .asar.unpacked native-library path, successful index creation and the expected file-search result.

{"electron":"44.4.2","node":"24.21.0","isPackaged":true,"binary":"<fixture>.app/Contents/Resources/app.asar.unpacked/node_modules/@ff-labs/fff-bin-darwin-arm64/libfff_c.dylib","indexedFiles":1,"result":"needle.ts"}

Limits: this was a minimal packaged Electron native-load smoke test, not a complete T3 installer build. Packaged Windows/Linux execution and full desktop workflows were not tested. The existing Windows probe unit tests passed. The benchmark above consists of sequential runs on a changing live workspace, not a controlled claim about all projects or total app memory.

Readiness refresh performed with Codex (GPT-6); scoped CLI review used GPT-6.1-Sol at high reasoning.

Built with Claude Opus 5.5 (1M context) in T3 Code through the Claude Code harness, at medium reasoning effort.

🤖 Generated with Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Oct 1, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 7dda9e1

Macroscope's review found this PR approvable — This is a focused production dependency bug fix that throttles runaway workspace watcher rescans while preserving the existing fff API and packaged native-loading behavior. The remaining changes are lockfile, patch-layout, artifact-validation, and regression-test updates with no product-default or static-analysis suppression changes.

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

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 1, 2026
fff-node 0.9.4 starts a full workspace rescan on any large file-event
batch, overflow, FSEvents rescan flag, or ignore-file change, with no
rate limit. On large non-git roots under active development this keeps
the backend at 60-190% CPU. fff 0.10.3 added a rescan throttle; 0.11.0
is the current release.

0.11.0 ships separate CJS and ESM builds, so the patch now routes
`require` to the ESM build (one module instance for the server and its
tests) and carries the asar.unpacked binary lookup over to dist/index.js.

Refs pingdotgg#14536

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@realhasanshoaib
realhasanshoaib force-pushed the fix/fff-watcher-rescan-throttle branch from 58a8f4c to c09c710 Compare October 1, 2026 06:24
@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Advanced

Run ID: ae89284a-d8d7-4e69-9134-e14a4f7c32ef




📥 Commits

Reviewing files that changed from the base of the PR and between c09c710 and dcff125.




⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml



📒 Files selected for processing (1)
  • pnpm-workspace.yaml



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





📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

The server dependency and workspace patch move to fff-node 0.11.0. The patch updates its require export target and ASAR binary-path resolution. The Windows native-load probe and its test use the package’s updated entry point.

Changes

fff-node dependency and packaging

Layer / File(s) Summary
Upgrade fff-node and update its patch
apps/server/package.json, pnpm-workspace.yaml, patches/@ff-labs__fff-node@0.9.4.patch, patches/@ff-labs__fff-node@0.11.0.patch
The dependency and patch mapping move to version 0.11.0, and the previous version’s patch is removed. The new patch points the require export to dist/index.js and uses an existing .asar.unpacked path when available, otherwise retaining the original binary path.
Update the Windows native-load probe
scripts/build-desktop-artifact.ts, scripts/build-desktop-artifact.test.ts
The Windows probe and its test now use dist/index.js instead of dist/src/index.js.

Priority: ⬇️ Low

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

Change: Bug fix

Suggested reviewers: juliusmarminge





Merge Risk: ⚪ Minimal · up to dcff1

The dependency mapping and Windows probe follow the updated entry path. Although the 0.11.0 archive was unavailable for independent inspection, no actionable mismatch or merge blocker is established.

Architecture Summary

Architecture risk: 🔵 Low · up to dcff1

The change affects 4 systems.

Changed systems: patches, scripts, apps/server, pnpm-workspace.yaml

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — patches (service) was modified; 2 changed files map to changed impact.
  • observed — scripts (service) was modified; 2 changed files map to changed impact.
  • observed — apps/server (service) was modified; 1 changed file maps to changed impact.
  • observed — pnpm-workspace.yaml (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in apps/server/package.json: The @ff-labs/fff-node dependency version changes from 0.9.4 to 0.11.0.
  • observed — Modified behavior in patches/@ff-labs__fff-node@0.11.0.patch: The package’s require export changes from dist/index.cjs to dist/index.js.
  • observed — Modified behavior in patches/@ff-labs__fff-node@0.11.0.patch: dist/index.js adds the sep path import needed to split and rejoin paths using the platform separator.
  • observed — Modified behavior in patches/@ff-labs__fff-node@0.11.0.patch: Adds resolveUnpackedAsarPath: it finds the last path segment ending in .asar, returns the original path if none exists, and otherwise uses the corresponding .asar.unpacked path only when that path exists.



Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title clearly identifies the server dependency update and its purpose: stopping runaway watcher rescans.
Description check Passed The description includes all required sections. It explains the problem, the dependency and patch changes, scope, approval context, verification results, and test limitations. It also provides detaile…

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR





  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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

@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 2, 2026 — with ChatGPT Codex Connector
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 11, 2026 07:20

Dismissing prior approval to re-evaluate 7dda9e1

@Yash-Singh1
Yash-Singh1 merged commit 5584d21 into pingdotgg:main Oct 11, 2026
28 of 29 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 11, 2026
## What's Changed
* perf(server): drive shell last-error lookup from thread bindings by @only21mil in pingdotgg/t3code#17842
* perf(server): skip parsing plain terminal history output by @StiensWout in pingdotgg/t3code#17179
* perf(server): batch terminal history writes every 250 ms by @StiensWout in pingdotgg/t3code#17183
* perf(server): storage cleanup no longer runs a full status or size walk for worktrees it keeps by @tris203 in pingdotgg/t3code#17911
* perf(usage): usage scans skip OpenCode legacy messages older than the window by @tris203 in pingdotgg/t3code#17254
* perf(usage): OpenCode legacy walk stats entries before checking for symlinks by @tris203 in pingdotgg/t3code#17638
* fix(web): MCP app permission prompts no longer overflow the screen by @juliusmarminge in pingdotgg/t3code#17962
* feat(provider-antigravity): support subscription quota and usage limits by @Maseeek in pingdotgg/t3code#17530
* fix(desktop): keep generated annotation styles in sync by @t3-code[bot] in pingdotgg/t3code#17838
* fix(web): Resume continues on the model picked in the composer by @akbarakma in pingdotgg/t3code#17867
* fix(devices): bump agent-device to 0.21.24 for native Windows hosts by @TanJeeSchuan in pingdotgg/t3code#17706
* fix(web): keybinding group headings no longer touch the group above by @fixfon in pingdotgg/t3code#17766
* feat(web): configure OpenTelemetry exports in diagnostics by @MatthewFeroz in pingdotgg/t3code#12538
* docs: update user count to 500k by @Kamkmgamer in pingdotgg/t3code#17783
* fix(mobile): working pill no longer bulges on its right end by @id0Sch in pingdotgg/t3code#16143
* perf(opencode): stop retaining every message of a loaded OpenCode thread by @tris203 in pingdotgg/t3code#17784
* fix(web): switch thumbs stay in their track while scrolling by @raphaelpra in pingdotgg/t3code#15240
* fix(keybindings): thread jumps no longer overlap model picker jumps by @Fluffy-Bunny-23 in pingdotgg/t3code#14475
* fix(mobile): restore QR scanning in iPad pairing sheet by @arhammahajan in pingdotgg/t3code#16019
* fix(server): delegated Muse tasks no longer ask approval for every command by @t3dotgg in pingdotgg/t3code#18065
* fix(codex): prevent unsupported agent history in ChatGPT sharing by @connwalk in pingdotgg/t3code#17499
* fix(server): disabled providers stop checking for CLI updates by @yordis in pingdotgg/t3code#16772
* fix(mobile): round Android queued message sheet corners by @PixPMusic in pingdotgg/t3code#14934
* fix(ssh): record the archive lock owner's real PID by @Gigioxx in pingdotgg/t3code#14598
* fix(desktop): keep annotation comment direction independent of host page by @abdelrhmanehab10 in pingdotgg/t3code#11005
* fix(ssh): qualify runner script builders in tunnel test by @juliusmarminge in pingdotgg/t3code#18078
* fix(web): keep thread links open until the shell is live by @saphid in pingdotgg/t3code#14697
* fix(web): scope PR title collapse to tab scrollers by @Adamulek123 in pingdotgg/t3code#14644
* fix(server): detect fork PRs for branches without upstreams by @Adamulek123 in pingdotgg/t3code#13894
* fix(search): find threads by their branch PR number by @tris203 in pingdotgg/t3code#14658
* feat(web): show Claude workflow phases and members in Lineage by @Bil0000 in pingdotgg/t3code#12598
* fix(mobile): round Android Agents sheet corners by @PixPMusic in pingdotgg/t3code#14925
* fix(web): the Usage page sends a signed-out browser to pairing by @AdEx-Partners-DE in pingdotgg/t3code#17938
* fix(server): OpenCode 2 continuations end after a reconnect took a Stop's end by @juliusmarminge in pingdotgg/t3code#14744
* fix(server): OpenCode 2 continuations replay only their own background reply by @juliusmarminge in pingdotgg/t3code#14752
* fix(server): ACP reapplies a model after a switch away from it failed partway by @juliusmarminge in pingdotgg/t3code#14723
* fix(web): focus settings search with command-f by @extoci in pingdotgg/t3code#17859
* fix(mobile): keep Android project paths on one line by @wellorbetter in pingdotgg/t3code#14178
* fix(web): unpin preview dragging on narrow chat canvases by @MatthewFeroz in pingdotgg/t3code#15556
* fix(web): thread details toggle no longer covers the thread title on Windows desktop by @freddy-d in pingdotgg/t3code#16869
* fix(server): a directory no longer resolves as the resource monitor binary by @Furox-Art in pingdotgg/t3code#16838
* fix(server): a Claude usage limit no longer resets the context meter to 0% by @Vantrongs in pingdotgg/t3code#16394
* fix(server): GitLab merge requests can expand unchanged lines by @ScottN-PV in pingdotgg/t3code#17528
* fix(provider-cursor): a skill tree deeper than the scan limit no longer hides every skill by @ScottN-PV in pingdotgg/t3code#17389
* fix(web): pass hex theme colors to HTML renders by @RustedAperture in pingdotgg/t3code#16325
* fix(web): align the API estimate info icon by @RakshithBhat03 in pingdotgg/t3code#15655
* test(server): ACP teardown tests pass on Windows hosts by @sheehanmunim in pingdotgg/t3code#17080
* fix(server): sync device tool license versions with installer pins by @Yash-Singh1 in pingdotgg/t3code#18121
* fix: sync model favorites and visibility across clients by @jakeleventhal in pingdotgg/t3code#16816
* chore(deps-dev): bump compression from 1.8.1 to 1.8.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in pingdotgg/t3code#16309
* fix(server): update fff to stop runaway watcher rescans by @realhasanshoaib in pingdotgg/t3code#14543
* fix(mobile): license generation works with filtered installs by @Yash-Singh1 in pingdotgg/t3code#18127
* fix(mobile): image-only messages ask the agent to respond, like desktop by @whoisaldo in pingdotgg/t3code#16480

## New Contributors
* @Maseeek made their first contribution in pingdotgg/t3code#17530
* @TanJeeSchuan made their first contribution in pingdotgg/t3code#17706
* @fixfon made their first contribution in pingdotgg/t3code#17766
* @id0Sch made their first contribution in pingdotgg/t3code#16143
* @raphaelpra made their first contribution in pingdotgg/t3code#15240
* @Fluffy-Bunny-23 made their first contribution in pingdotgg/t3code#14475
* @arhammahajan made their first contribution in pingdotgg/t3code#16019
* @connwalk made their first contribution in pingdotgg/t3code#17499
* @abdelrhmanehab10 made their first contribution in pingdotgg/t3code#11005
* @AdEx-Partners-DE made their first contribution in pingdotgg/t3code#17938
* @wellorbetter made their first contribution in pingdotgg/t3code#14178
* @freddy-d made their first contribution in pingdotgg/t3code#16869
* @Furox-Art made their first contribution in pingdotgg/t3code#16838
* @RustedAperture made their first contribution in pingdotgg/t3code#16325
* @sheehanmunim made their first contribution in pingdotgg/t3code#17080
* @realhasanshoaib made their first contribution in pingdotgg/t3code#14543
* @whoisaldo made their first contribution in pingdotgg/t3code#16480

**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261011.2955...v0.0.46-nightly.20261011.2967

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261011.2967
github-actions Bot added a commit to davidvanderklay/t3code-flake that referenced this pull request Oct 11, 2026
## What's Changed
* perf(server): drive shell last-error lookup from thread bindings by @only21mil in pingdotgg/t3code#17842
* perf(server): skip parsing plain terminal history output by @StiensWout in pingdotgg/t3code#17179
* perf(server): batch terminal history writes every 250 ms by @StiensWout in pingdotgg/t3code#17183
* perf(server): storage cleanup no longer runs a full status or size walk for worktrees it keeps by @tris203 in pingdotgg/t3code#17911
* perf(usage): usage scans skip OpenCode legacy messages older than the window by @tris203 in pingdotgg/t3code#17254
* perf(usage): OpenCode legacy walk stats entries before checking for symlinks by @tris203 in pingdotgg/t3code#17638
* fix(web): MCP app permission prompts no longer overflow the screen by @juliusmarminge in pingdotgg/t3code#17962
* feat(provider-antigravity): support subscription quota and usage limits by @Maseeek in pingdotgg/t3code#17530
* fix(desktop): keep generated annotation styles in sync by @t3-code[bot] in pingdotgg/t3code#17838
* fix(web): Resume continues on the model picked in the composer by @akbarakma in pingdotgg/t3code#17867
* fix(devices): bump agent-device to 0.21.24 for native Windows hosts by @TanJeeSchuan in pingdotgg/t3code#17706
* fix(web): keybinding group headings no longer touch the group above by @fixfon in pingdotgg/t3code#17766
* feat(web): configure OpenTelemetry exports in diagnostics by @MatthewFeroz in pingdotgg/t3code#12538
* docs: update user count to 500k by @Kamkmgamer in pingdotgg/t3code#17783
* fix(mobile): working pill no longer bulges on its right end by @id0Sch in pingdotgg/t3code#16143
* perf(opencode): stop retaining every message of a loaded OpenCode thread by @tris203 in pingdotgg/t3code#17784
* fix(web): switch thumbs stay in their track while scrolling by @raphaelpra in pingdotgg/t3code#15240
* fix(keybindings): thread jumps no longer overlap model picker jumps by @Fluffy-Bunny-23 in pingdotgg/t3code#14475
* fix(mobile): restore QR scanning in iPad pairing sheet by @arhammahajan in pingdotgg/t3code#16019
* fix(server): delegated Muse tasks no longer ask approval for every command by @t3dotgg in pingdotgg/t3code#18065
* fix(codex): prevent unsupported agent history in ChatGPT sharing by @connwalk in pingdotgg/t3code#17499
* fix(server): disabled providers stop checking for CLI updates by @yordis in pingdotgg/t3code#16772
* fix(mobile): round Android queued message sheet corners by @PixPMusic in pingdotgg/t3code#14934
* fix(ssh): record the archive lock owner's real PID by @Gigioxx in pingdotgg/t3code#14598
* fix(desktop): keep annotation comment direction independent of host page by @abdelrhmanehab10 in pingdotgg/t3code#11005
* fix(ssh): qualify runner script builders in tunnel test by @juliusmarminge in pingdotgg/t3code#18078
* fix(web): keep thread links open until the shell is live by @saphid in pingdotgg/t3code#14697
* fix(web): scope PR title collapse to tab scrollers by @Adamulek123 in pingdotgg/t3code#14644
* fix(server): detect fork PRs for branches without upstreams by @Adamulek123 in pingdotgg/t3code#13894
* fix(search): find threads by their branch PR number by @tris203 in pingdotgg/t3code#14658
* feat(web): show Claude workflow phases and members in Lineage by @Bil0000 in pingdotgg/t3code#12598
* fix(mobile): round Android Agents sheet corners by @PixPMusic in pingdotgg/t3code#14925
* fix(web): the Usage page sends a signed-out browser to pairing by @AdEx-Partners-DE in pingdotgg/t3code#17938
* fix(server): OpenCode 2 continuations end after a reconnect took a Stop's end by @juliusmarminge in pingdotgg/t3code#14744
* fix(server): OpenCode 2 continuations replay only their own background reply by @juliusmarminge in pingdotgg/t3code#14752
* fix(server): ACP reapplies a model after a switch away from it failed partway by @juliusmarminge in pingdotgg/t3code#14723
* fix(web): focus settings search with command-f by @extoci in pingdotgg/t3code#17859
* fix(mobile): keep Android project paths on one line by @wellorbetter in pingdotgg/t3code#14178
* fix(web): unpin preview dragging on narrow chat canvases by @MatthewFeroz in pingdotgg/t3code#15556
* fix(web): thread details toggle no longer covers the thread title on Windows desktop by @freddy-d in pingdotgg/t3code#16869
* fix(server): a directory no longer resolves as the resource monitor binary by @Furox-Art in pingdotgg/t3code#16838
* fix(server): a Claude usage limit no longer resets the context meter to 0% by @Vantrongs in pingdotgg/t3code#16394
* fix(server): GitLab merge requests can expand unchanged lines by @ScottN-PV in pingdotgg/t3code#17528
* fix(provider-cursor): a skill tree deeper than the scan limit no longer hides every skill by @ScottN-PV in pingdotgg/t3code#17389
* fix(web): pass hex theme colors to HTML renders by @RustedAperture in pingdotgg/t3code#16325
* fix(web): align the API estimate info icon by @RakshithBhat03 in pingdotgg/t3code#15655
* test(server): ACP teardown tests pass on Windows hosts by @sheehanmunim in pingdotgg/t3code#17080
* fix(server): sync device tool license versions with installer pins by @Yash-Singh1 in pingdotgg/t3code#18121
* fix: sync model favorites and visibility across clients by @jakeleventhal in pingdotgg/t3code#16816
* chore(deps-dev): bump compression from 1.8.1 to 1.8.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in pingdotgg/t3code#16309
* fix(server): update fff to stop runaway watcher rescans by @realhasanshoaib in pingdotgg/t3code#14543
* fix(mobile): license generation works with filtered installs by @Yash-Singh1 in pingdotgg/t3code#18127
* fix(mobile): image-only messages ask the agent to respond, like desktop by @whoisaldo in pingdotgg/t3code#16480

## New Contributors
* @Maseeek made their first contribution in pingdotgg/t3code#17530
* @TanJeeSchuan made their first contribution in pingdotgg/t3code#17706
* @fixfon made their first contribution in pingdotgg/t3code#17766
* @id0Sch made their first contribution in pingdotgg/t3code#16143
* @raphaelpra made their first contribution in pingdotgg/t3code#15240
* @Fluffy-Bunny-23 made their first contribution in pingdotgg/t3code#14475
* @arhammahajan made their first contribution in pingdotgg/t3code#16019
* @connwalk made their first contribution in pingdotgg/t3code#17499
* @abdelrhmanehab10 made their first contribution in pingdotgg/t3code#11005
* @AdEx-Partners-DE made their first contribution in pingdotgg/t3code#17938
* @wellorbetter made their first contribution in pingdotgg/t3code#14178
* @freddy-d made their first contribution in pingdotgg/t3code#16869
* @Furox-Art made their first contribution in pingdotgg/t3code#16838
* @RustedAperture made their first contribution in pingdotgg/t3code#16325
* @sheehanmunim made their first contribution in pingdotgg/t3code#17080
* @realhasanshoaib made their first contribution in pingdotgg/t3code#14543
* @whoisaldo made their first contribution in pingdotgg/t3code#16480

**Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261011.2955...v0.0.46-nightly.20261011.2967

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261011.2967
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:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

3 participants