Commits

feat(auth): separate filesystem read and write permissions (#9788)

321c6f9d26 • Julius Marminge • 3d ago

feat(auth): separate source control write permissions (#9787)

2eda8ac6a3 • Julius Marminge • 3d ago

feat(auth): separate environment administration permissions (#9786)

28ce9d1c17 • Julius Marminge • 3d ago

fix(auth): preserve explicitly granted pairing scopes (#9785)

e9c3d950f0 • Julius Marminge • 3d ago

fix(pi): preserve provider identity in discovered models (#16661)

bfec2387b8 • maria • 3d ago

fix(web): preserve bare anchor placeholders in markdown (#16637)

5886bd8f19 • maria • 3d ago

fix(web): keep workspace options when expanding lineage (#16635)

847c53df01 • maria • 3d ago

fix(web): iPhone Duo fold controls follow the phone's orientation (#16630)

2991331515 • Gabriel De Andrade • 3d ago

fix(server): recover a deleted tunnel when Cloudflare says "Tunnel not found" (#16648)

740bda40c9 • Julius Marminge • 3d ago

fix(relay): a host restarting onto a deleted tunnel gets a new one (#16649)

c4481b9b07 • Julius Marminge • 3d ago

chore(deps): upgrade @pierre/diffs to 1.5.2 and @pierre/trees to beta.6 (#16644)

f8ed2a039b • Julius Marminge • 3d ago

refactor(server): instrument WS RPCs in group middleware (#15548)

d021f57bf3 • Julius Marminge • 3d ago

fix(web): show "No project" near the top of the new thread picker (#16628)

517188b3ca • Julius Marminge • 4d ago

fix(server): provider sessions clean up when their start is interrupted (#15571)

4b5c604853 • Julius Marminge • 4d ago

feat(web): open right panel tab menu with Mod+T (#15686)

7202ba6660 • Bilal Bakr • 4d ago

feat(web): add fast actions to linked pull requests (#16627)

ab28039ef7 • maria • 4d ago

feat(web): stop T3-owned subagents from Lineage (#15211)

c5c6f9cb48 • Bilal Bakr • 4d ago

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

72d5c32ba6 • maria • 4d ago

fix(vcs): passive sidebar rows stop retaining remote pollers (#15666)

5055de3ae4 • maria • 4d ago

fix(web): show attempted paths in file preview errors (#15628)

876f8656e3 • maria • 4d ago

fix(web): open pull request row actions on right-click (#16612)

d8d037eae1 • Jake Leventhal • 4d ago

fix(contracts): a context record that cannot be encoded no longer fails the send (#16398)

13aabf3d7d • Julius Marminge • 4d ago

fix(server): one failing RPC handler no longer ends the client's other requests (#15515)

8ddf200e8f • Julius Marminge • 4d ago

fix(desktop): include Linux package license and app metadata (#16597)

f4f148eb67 • Julius Marminge • 4d ago

chore(review): CodeRabbit gates outside contributors' pull requests (#16332)

c9b21b28e2 • Erik Thorelli • 4d ago

chore(tsconfig): turn off the Schema-over-JSON diagnostic in test files (#16375)

7bee189dfb • Erik Thorelli • 4d ago

feat(web): copy an environment's MCP URL for outside agents (#16337)

fbe5df2d4b • Julius Marminge • 4d ago

feat(server): outside agents sign in to the T3 MCP server with OAuth (#16336)

2c8be5893e • Julius Marminge • 4d ago

feat(server): every T3 MCP tool declares who may call it (#16335)

2f85686d9d • Julius Marminge • 4d ago

perf(web): diff panel no longer re-renders every file header each time a patch arrives (#16033)

f21d6da51c • Stevan Borus • 4d ago

feat(web): note anonymous usage data in onboarding and link the privacy policy (#16564)

115640ae49 • Julius Marminge • 4d ago

docs(marketing): disclose product usage data in the privacy policy (#16562)

3b44698d07 • Julius Marminge • 4d ago

fix(desktop): honor the telemetry opt-out from the shell profile (#16563)

78c9fcaafc • Julius Marminge • 4d ago

fix(web): diff panel keeps the chosen scope while a turn runs (#16571)

3dfe373fdd • Julius Marminge • 4d ago

fix(server): Rebase stack moves each layer onto the rebased layer below it (#16551)

1eae9c2efe • Julius Marminge • 4d ago

feat: choose the GitHub account per host, save a GitHub token, and fewer reads per PR action (#16322)

9ac8f33f16 • Julius Marminge • 4d ago

feat(server): source control, media and discovery use GitHub's API instead of gh (#16321)

649418f01f • Julius Marminge • 4d ago

feat(server): pull requests talk to GitHub's API instead of the gh CLI (#16320)

adc3c9327a • Julius Marminge • 4d ago

feat(server): GitHub API transport that uses gh only for the token (#16319)

1564aaa5d2 • Julius Marminge • 4d ago

fix(mobile): keep usage-limit notice opaque (#15602)

7bf6de1741 • Benedikt Rump • 4d ago

fix(desktop): build AppImage with the static runtime toolset (fixes libfuse2 launch failure) (#7765)

9b2c03ee25 • Lorenzo • 4d ago

fix(web): stop wide ordered list markers from clipping (#16523)

8c61e254fd • Utkarsh Patil • 4d ago

feat(web): reopen closed tabs across the app (#15207)

b83d731cab • Bilal Bakr • 4d ago

fix(web): show subagent effort and speed in hover cards (#13056)

29366ea29a • Bilal Bakr • 4d ago

fix(web): Apple logo no longer dips below the device host label (#14825)

9503155da6 • Jake Leventhal • 4d ago

fix(orchestration-v2): show reported subagent models (#14108)

eea9f7cfeb • Bilal Bakr • 4d ago

chore(deps): upgrade @effect/tsgo to 0.46.1 (#16360)

78552a8c61 • Erik Thorelli • 4d ago

fix(mcp): preserve thread command rejection reasons (#15627)

b38aa18365 • maria • 4d ago

fix(release): unblock nightly browser tests and cli builds (#16515)

fd1c3386c4 • maria • 4d ago

fix(mcp): mark declared tool failures as errors (#15617)

dff412c341 • maria • 4d ago

fix: restore service references breaking ci (#16495)

17c0878941 • maria • 4d ago

feat(preview): run the browser on the environment server (#15328)

ac8e9453ca • maria • 4d ago

fix(server): OpenCode 2 threads get T3 Code's MCP tools (#16142)

9bd1d8009a • Nikita Koynov • 4d ago

fix(shared): find versioned JetBrains macOS app bundles (#16246)

e6abc01788 • Sypher760-gif • 4d ago

fix(desktop): use the crypto service for screenshot IDs (#16415)

4fb04fe7fa • Yash Singh • 4d ago

fix(server): reject invalid explicit Bitbucket repositories (#15876)

9ae9f2ba1f • Arav Jain • 4d ago

fix(web): queued messages no longer split the composer notice stack (#16400)

4980ba282e • Tristan Manchester • 4d ago

fix(server): end clone options before the repository URL (#14781)

e65063ccf6 • Alex Southwell • 4d ago

fix(desktop): prevent browser screenshot filename collisions (#14784)

411cef0008 • Alex Southwell • 4d ago

fix(web): type in front of bold that starts a composer line (#13217)

d0dc45885c • Alex Southwell • 4d ago

fix(release): resolve version-qualified catalog overrides (#16411)

1f2b10c25b • Yash Singh • 4d ago

fix(orchestration-v2): let Stop recover stalled runs (#15442)

a7a2230c33 • Yash Singh • 4d ago

fix(server): avoid scanning completed history for pending secrets (#16409)

0290c4a04e • Yash Singh • 4d ago

fix(desktop): retry transient bearer bootstrap and degrade on session fetch failure (#12919)

76d3c96fd5 • James Villarrubia • 4d ago

fix(server): Pi thread titles use linked PR context (#16210)

4ae976dbae • Julius Marminge • 4d ago

fix(relay): export traces through one tracer, one request span each (#16382)

442735897f • Julius Marminge • 4d ago

refactor: Effect code gets UUIDs and SHA-256 from Effect's Crypto (#16377)

83b982a85c • Erik Thorelli • 4d ago

fix(web): bring back the live shimmer on work log rows (#16372)

8f75697b9e • Julius Marminge • 4d ago

fix(relay): error and deadline responses carry CORS headers (#16253)

0ecb78ed0d • Julius Marminge • 4d ago

fix(observability): T3 Connect tracing stops at the relay boundary (#16314)

25f0b2a1b7 • Julius Marminge • 4d ago

chore(lint): catch known tags with Effect.catchTags (#16361)

ff397a2952 • Erik Thorelli • 4d ago

fix(server): main's settings, keybindings and session tests compile again (#16363)

fad6732256 • Julius Marminge • 4d ago

fix(contracts): trimmed IDs round-trip (#16300)

2d162d157d • Julius Marminge • 4d ago

refactor(web): import connection storage as a namespace in its test (#16315)

efeeb7737b • Julius Marminge • 4d ago

fix(server): metrics count interrupted work on the monotonic clock (#16207)

c299308a83 • Julius Marminge • 4d ago

fix(shared): DrainableWorker keeps running after a failed item (#16223)

24e4b62c88 • Julius Marminge • 4d ago

chore: keep one copy each of undici 8 and ws 8 (#16211)

4b3568b775 • Julius Marminge • 4d ago

fix(server): the PR cache sweep only removes real entry files (#16285)

bfe40e6d25 • Julius Marminge • 4d ago

fix(server): one-shot initializers no longer race (#16260)

327a29ef56 • Julius Marminge • 4d ago

fix(server): caches and ids are written atomically (#16242)

eef36a67c3 • Julius Marminge • 4d ago

Add esthor to the list of GitHub users

3236d8ce73 • Julius Marminge • 4d ago

fix(server): Claude limits load again for users with large transcript histories (#16358)

255ac27d52 • Theo Browne • 4d ago

fix(server): project favicons stop being rescanned every minute (#16206)

24edd55d94 • Theo Browne • 4d ago

fix(server): main's startup auto-pull test compiles again (#16357)

61a0ec9eb0 • Theo Browne • 4d ago

perf(shared): scan PATH once per command before spawning, not on every spawn (#12600)

71964e670f • SkiTee3000 • 4d ago

fix(server): status polling no longer locks the git index (#14718)

447046b589 • ahalekelly • 4d ago

fix(observability): a failing trace disk no longer stalls the server (#13758)

570b72d839 • Theo Browne • 4d ago

fix(server): probe project favicon candidates concurrently (#12543)

b69f8b5ff0 • Ishaan Kothari • 4d ago

fix(server): return partial workspace index on timeout (#11500)

fec71c5ab4 • Michel Liao • 4d ago

fix(web): avoid blocking image preparation conversions (#13342)

ff2fda7d6d • Bilal Bakr • 4d ago

fix(server): stop the startup project sync from delaying the app window (#14912)

2103bfaa77 • Igor Makowski • 4d ago

fix(server): forks no longer merge into their upstream repo's project group (#16353)

017c9a0eb5 • Theo Browne • 4d ago

refactor(server): replay guards stay in CloudLink (#16349)

99db70cf1a • Julius Marminge • 4d ago

refactor(server): CloudLink fails with its own errors; the connect routes map them to HTTP (#16341)

68e50db20b • Julius Marminge • 4d ago

refactor(server): CloudLink keeps only the link lifecycle; pure checks live beside it (#16340)

ff873b2ec1 • Julius Marminge • 4d ago

chore(review): turn off CodeRabbit's docstring coverage check (#16328)

3a9c1a6df1 • Erik Thorelli • 4d ago

chore(review): point CodeRabbit at the web UI conventions (#16324)

c21f93e430 • Erik Thorelli • 4d ago

docs(relay): add the legacy tunnel cleanup rollout runbook (#13568)

204a639096 • Julius Marminge • 4d ago

feat(connect): tell users when an idle tunnel was removed (#13567)

6b456a9618 • Julius Marminge • 4d ago

perf(relay): delete expired tunnels four at a time within a time budget (#13566)

6bfc8baeb8 • Julius Marminge • 4d ago