Repository navigation
Conversation
79ea2ce to
554e854
Compare
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
de9fa72 to
c4f2ec3
Compare
|
Note Written by kept @ekrako's production fix unchanged and preserved the contributor commit. merged current main without rebasing. added one test in the existing file proving that a broken stdin pipe does not replace the actual process failure. the final diff still touches only verification at
unverified: packaged macos "test capture and continue" and endpoint-security behavior. this linux vm cannot run the native path, so no native capture evidence is claimed. @ekrako, a packaged capture on the affected managed mac is the remaining verification. coderabbit is rate limited on this push; its green status is not a fresh review. ci is green on this head, including build/typecheck, lint, tests, all eight server shards, and the aggregate check. fork workflow approval is complete. no unresolved review findings. handoff is waiting only for native packaged capture verification on an affected mac before maria's review. |
|
Note Written by Verified in a real dev environmentno changed behavior could be verified on this linux vm. this is an unverifiable result, not a successful runtime verification. read the description, discussion, full diff and commit authors. the pr is open, with no commits by juliusmarminge or t3dotgg. installed confirmed the host reports command transcript and verification limits Not verifiedoriginal endpoint-security failure on main; successful capture on the pr; packaged macos desktop integration; sentinelone/kandji behavior; screen recording/accessibility permissions; shortcut capture, cancellation and lookup-error handling; captured-image delivery to a real codex gpt-6.1-sol turn. windows and native mobile paths were not exercised. a linux dev web server and provider turn cannot execute this macos electron path, so neither was started. no screenshots or recording claim native success. no mocks or platform overrides were used. ci reports 28 successful checks, but that does not establish this fix works. remaining verification requires the desktop app on an affected managed mac, comparing main and this exact head through "Test capture and continue", then normal shortcut capture and a real provider turn. no code or pr metadata was changed. |
main in the shipped appInstalled T3 Code Nightly In Settings > Snapshots > Set up snapshots, Screen Recording and Accessibility both show Allowed. System Settings > Screen & System Audio Recording also has T3 Code (Nightly) enabled. Still, "Test capture and continue" fails with: PR head in a desktop buildOn the same Mac, ran Results from the dev app's
Function-level comparisonRan the lookup comparison on the same Mac at 2026-11-01 07:23 UTC: macOS 27.0.1, arm64, with SentinelOne ( Used the real
That exact lookup step failed on main 6/6 after 3–13 ms with Each case was run 3x with the same outcome; the transcript shows one run per case. Not verified: Kandji isolated from SentinelOne (both installed, as in #21747), or a packaged/signed build of the PR head (dev build only). Windows and mobile are not affected by this change. |
27b421f to
8e0fbaa
Compare
8e0fbaa to
c3409f5
Compare
ScopeVerified on the same affected Mac, whose endpoint security agent SIGKILLs Tested Dev buildRan
Packaged buildBuilt unsigned with
Results and limitsBoth runs: no failed snapshot spans or Unverified: signed/notarized build, dmg, and cancel path. macOS captures directly; region selection and Escape-to-cancel exist only for Linux Wayland portal capture. |
c3409f5 to
643314c
Compare
|
The automated pipeline stopped on this pull request and will not merge it: the proof has no capture anyone can open:
It stays open for a person to finish or close. |
2c3d833 to
bbba443
Compare
|
Verified base failure and head success on a managed Mac whose endpoint security agent kills Base (fails)T3 Code (Nightly) 0.1.9-nightly.20261110.4465, built from main before the fix. In Settings > Snapshots > Set up, Screen Recording and Accessibility both show Allowed. "Test capture and continue" fails:
Head, dev build (passes)bbba443,
"Test capture and continue" succeeds and advances to step 2, Shortcut ("Shortcut saved"). Trace span
Head, packaged build (passes)bbba443, built with
The same continuation succeeds;
Dev and packaged screenshots come from the app's renderer; base is a window crop. My earlier PR comment covers a full both-Shift capture sent to an agent on both builds. |
e81b0aa to
e5d3b63
Compare
On Macs running endpoint security agents (e.g. SentinelOne, Kandji ESF), snapshot "Test capture" failed with "Finding the front window failed" even with Screen Recording and Accessibility granted: the agent SIGKILLs osascript when the ObjC-bridge JXA lookup script is passed inline via `-e`. Run osascript with `-l JavaScript -` and write the script to its stdin, which the same agents allow. The modifier-pair poller is unaffected and keeps using `-e`.
…p test AI-assisted; verified with the tests and tools listed above.
e5d3b63 to
4f6b291
Compare
|
Note 🤖 Claude Opus 5.5 responding on behalf of Theo Closing. This PR has been open for more than 3 weeks, and |





Problem
On a Mac running an endpoint security agent (SentinelOne and Kandji ESF here), SnapShot setup fails at Test capture and continue with
Could not capture a test snapshot. Finding the front window failed.while Screen Recording and Accessibility both read Allowed. The window lookup runsosascript -l JavaScript -e <script>, and the agent SIGKILLs osascript when that ObjC-bridge script arrives inline. Node reportscode: null, signal: "SIGKILL".Fixes https://git.cafe/pingdotgg/t3code/issues/21747. Possibly also the real cause behind https://git.cafe/pingdotgg/t3code/issues/18595, whose report has no exit status to confirm it.
Change
runMacLookup()passes-l JavaScript -and writes the same script to osascript's stdin. Timeout, buffer limit and error mapping are unchanged. A stdin write error is ignored on purpose: it only happens when osascript already exited, and theexecFilecallback reports that exit.The modifier-pair poller in
MacModifierPairShortcutProcess.tsalso uses-e, but the agent does not kill it in any mode, so it is left alone.Scope and approval
One small fix for an obvious bug: the capture is killed before it runs, and the change only moves the script from argv to stdin. Bug report with the measurements: https://git.cafe/pingdotgg/t3code/issues/21747.
Verification
Same script, run through T3 Code's own Electron binary (
ELECTRON_RUN_AS_NODE=1) on the affected Mac:osascript -l JavaScript -e <script>{"signal":"SIGKILL","ms":14}osascript -l JavaScript -, script on stdinosascript -l JavaScript <file>ActiveWindow.test.tsextends main's existing tests:["-l", "JavaScript", "-"]andstdin.endis called once with the lookup script.maria-rcks) checks that a broken stdin pipe does not replace the real exit error.vp run check:changedpasses: format, lint, knip, typecheck, tests.effect-tsgo tsrs --noEmitinapps/desktop(tsrs 0.21.0) exits 0. It prints onlyschemaClassMissingBrandsuggestions, and none are in the changed files.End-to-end on the affected Mac (comment): the shipped Nightly built from main fails Test capture. A desktop build of this branch passes it, then captures and runs a real provider turn.
Implemented with Claude Opus 5.5 (Claude Code harness) in T3 Code.
Fixes #21747