Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
317 commits
Select commit Hold shift + click to select a range
f41518f
ci(release): desktop builds that cannot open no longer publish (#25928)
t3dotgg Oct 27, 2026
6dc4842
refactor(web): file tree drag mentions use React drag handlers (#25913)
juliusmarminge Oct 27, 2026
319c572
refactor(mobile): git action results buzz from where they are reporte…
juliusmarminge Oct 27, 2026
a8edf13
fix(mobile): the Add environment form shows only its own pairing erro…
juliusmarminge Oct 27, 2026
e923627
refactor(mobile): showcase capture runs as an app service, not a chai…
juliusmarminge Oct 27, 2026
36d4d71
fix(server): bound hung delegated stop effects so later runs can star…
juliusmarminge Oct 27, 2026
dc84b09
feat(mobile): add One UI navigation preference on Android (#25758)
PixPMusic Oct 27, 2026
5b15cfc
fix(mobile): center Android sheets and fit book-mode sheets in the le…
PixPMusic Oct 27, 2026
2ba1a09
fix(mobile): keep the collapsed Android rail square (#26039)
PixPMusic Oct 27, 2026
d0b81ce
fix(web): closing the last Browser tab hides the right panel again (#…
juliusmarminge Oct 27, 2026
21762b5
refactor(web): pull requests Cmd+F focuses the topbar search directly…
juliusmarminge Oct 27, 2026
6369e28
refactor(web): install draft model reconciliation at app start (#26046)
juliusmarminge Oct 27, 2026
03186e0
perf(mobile): project favicons mount their image in one commit (#26047)
juliusmarminge Oct 27, 2026
7b4c4b4
refactor(web): the upload queue alone records finished file uploads o…
juliusmarminge Oct 27, 2026
9ff0597
feat(mobile): Usage uses the width on iPad and unfolded phones (#26061)
juliusmarminge Oct 27, 2026
3a87681
fix(gitcafe): PR panel follows renumbered pull requests (#26079)
juliusmarminge Oct 27, 2026
bc1ea26
chore(infra): bump Alchemy to 2.0.0-beta.84 (#26057)
juliusmarminge Oct 27, 2026
d1c4b52
refactor(mobile): stop writing the resolved project filter back from …
juliusmarminge Oct 27, 2026
76d5ec7
fix(mobile): a pairing link fills the open Add environment form inste…
juliusmarminge Oct 27, 2026
a56ecda
fix(mobile): snooze menu times advance with the clock (#26043)
juliusmarminge Oct 27, 2026
0232932
fix(clients): prompt links find projects cloned from git.cafe (#26042)
juliusmarminge Oct 27, 2026
740de0e
fix(server): retry Codex capacity failures with empty input (#25611)
Yash-Singh1 Oct 27, 2026
07242ab
fix(server): recover handoffs when target context is exhausted (#25610)
Yash-Singh1 Oct 27, 2026
4914cdd
fix(web): chips drop their pill and stay readable on every theme (#25…
flamboh Oct 27, 2026
73acddc
fix(mobile): switching pull request tabs no longer jumps the page (#2…
flamboh Oct 27, 2026
570d4b0
feat(mobile): report crashes to Axiom with symbolicated stacks (#19093)
gabrielelpidio Oct 27, 2026
5808469
fix(web): chip palette test follows the single design (#26131)
juliusmarminge Oct 27, 2026
1b1ad04
feat(server): /mcp narrows a client's modes from T3-Mode-Limit (#16653)
juliusmarminge Oct 27, 2026
888e444
feat(server): t3_thread_launch takes clientRequestId (#16654)
juliusmarminge Oct 27, 2026
4005759
feat(server): link to another environment (#16655)
juliusmarminge Oct 27, 2026
cb98850
feat(server): agents use linked environments through any T3 tool (#16…
juliusmarminge Oct 27, 2026
6918c35
feat(server): work a linked environment starts stays within its link …
juliusmarminge Oct 27, 2026
a6676f9
feat(web,mobile): linked environments in Connections (#16698)
juliusmarminge Oct 27, 2026
594f1ce
feat(server): delegate_task to a linked environment (#16719)
juliusmarminge Oct 27, 2026
8b14660
feat(server,web,mobile): an agent sets up a link to another environme…
juliusmarminge Oct 27, 2026
5e9d564
feat(server,web,mobile): @-mention a machine, and linked environments…
juliusmarminge Oct 27, 2026
fe0e8d4
fix(mobile): dragging a microphone or environment route now saves its…
juliusmarminge Oct 27, 2026
bbd9593
feat(web): channel artwork choice on Latest, plus nightly or dev art …
maria-rcks Oct 27, 2026
5b70d81
feat(mobile): browse ZIP attachments with the shared archive reader (…
Bil0000 Oct 27, 2026
8d94203
fix(server): Claude --settings launch args merge with T3's settings i…
t3dotgg Oct 27, 2026
a27ec88
feat(server,web): see and stop the dev servers a thread started (#22542)
t3dotgg Oct 27, 2026
f08136d
fix(web): composer no longer jumps when a second line is added (#26155)
maria-rcks Oct 27, 2026
b31de68
feat(web,mobile): queued messages show who sent them (#26159)
juliusmarminge Oct 27, 2026
8f0b729
fix(preview): agent and browser panel show the same page after a late…
t3dotgg Oct 27, 2026
1cf14a4
fix(web): pairing, connect, error, and Clerk sign-in surfaces match t…
maria-rcks Oct 27, 2026
3b22620
fix(server): parallel worktree launches no longer fail on .git/config…
juliusmarminge Oct 27, 2026
4cb5f10
fix(task-cache): the hook test waits for every flusher it starts (#26…
juliusmarminge Oct 27, 2026
33d0c96
chore(lint): every React effect states its reason at the call site (#…
juliusmarminge Oct 27, 2026
0637f87
test(server): the link-card retry test names a new MCP credential (#2…
juliusmarminge Oct 27, 2026
e66ffcc
perf(web): stop measuring table cells while replies stream (#26152)
t3dotgg Oct 27, 2026
dde3fdb
feat(desktop): add a remote server by clicking its t3code://pair link…
t3dotgg Oct 27, 2026
cb7e381
chore(mobile): e2e runner retries pool failures and reports them apar…
juliusmarminge Oct 27, 2026
867112c
fix(server): agent questions stay answerable after a server restart (…
SunkenInTime Oct 27, 2026
34ca613
chore(lint): the effect lint error walks the alternatives before the …
juliusmarminge Oct 27, 2026
4fc9e5f
fix(web): settings avatar no longer hugs the modal corner (#26180)
t3dotgg Oct 27, 2026
622bc06
fix(mobile): shared file names can no longer write outside the Androi…
juliusmarminge Oct 27, 2026
80b7b0f
fix(server): repository lookups no longer send GitHub tokens to arbit…
juliusmarminge Oct 27, 2026
f0c1da3
fix(github): long period runs no longer freeze reference autolinking …
juliusmarminge Oct 27, 2026
0b7caf2
fix(mobile): Android diff ellipsis no longer measures text quadratica…
juliusmarminge Oct 27, 2026
b88da91
fix(server): Codex works again after its app-server is killed (#26188)
t3dotgg Oct 27, 2026
3ae672f
fix(desktop): ask once per site before a preview page reads the clipb…
juliusmarminge Oct 27, 2026
294981f
fix(mobile): Windows paths in messages keep their backslashes (#21454)
juliusmarminge Oct 27, 2026
7e884b2
feat: triage an issue from the command palette, no terminal needed (#…
t3dotgg Oct 27, 2026
a846084
fix(server): Forgejo required-check globs no longer hang the event lo…
juliusmarminge Oct 27, 2026
735cc3c
fix(server): fx's version policy reaches servers with a cached model …
juliusmarminge Oct 27, 2026
c570c2c
fix(mobile): keep iPad tab bar within narrow sidebars (#26198)
juliusmarminge Oct 28, 2026
c38b265
feat(web): filter the sidebar by several projects at once (#25284)
maria-rcks Oct 28, 2026
0894156
fix(mobile): provider accounts fit each provider on one row (#25861)
saphid Oct 28, 2026
531cee6
fix(server): Claude background-task wakes start when the queue is hel…
fireboltdude1357 Oct 28, 2026
68495b6
docs(testing): new tests extend existing cases and stay at one layer …
t3dotgg Oct 28, 2026
06d4b57
fix(web): composer strip drops the folder icon next to the machine ic…
maria-rcks Oct 28, 2026
7e71392
feat(web): background work line shows the newest activity, no dots (#…
maria-rcks Oct 28, 2026
7f2dcd8
fix(mobile): dictation buttons line up with the send button on every …
juliusmarminge Oct 28, 2026
df4132b
chore(mobile): e2e runs keep Metro's output, the app's console logs, …
juliusmarminge Oct 28, 2026
2e2d86c
chore(mobile): e2e Metro serves no lazy chunks
juliusmarminge Oct 28, 2026
4ab7084
feat(web,mobile): the @ picker lists threads on linked machines (#26201)
juliusmarminge Oct 28, 2026
0affd28
feat(web,mobile): Copy thread copies a chip that works on linked mach…
juliusmarminge Oct 28, 2026
5cf49d2
fix(mobile): unclosed code fences in HTML blocks no longer freeze PR …
juliusmarminge Oct 28, 2026
b5af460
fix(opencode): apply runtime mode changes to existing OpenCode sessio…
juliusmarminge Oct 28, 2026
8251578
fix(server): Antigravity file writes cannot escape the workspace thro…
juliusmarminge Oct 28, 2026
7a059b9
chore(mobile): e2e treats a failed daemon read as a pool error
juliusmarminge Oct 28, 2026
2525252
feat(web): F6 moves between workspace areas, and the sidebar is keybo…
t3dotgg Oct 28, 2026
575a03f
chore(review): Macroscope check agents move to GPT 6.1 Sol (#26187)
t3dotgg Oct 28, 2026
e2a8ef0
feat(dev): test turns in the UI for free with a replay provider (#26207)
t3dotgg Oct 28, 2026
93a9e07
feat(threads): choose your own snooze options in settings (#26208)
t3dotgg Oct 28, 2026
c3b40b9
fix(relay): stop delivery attempts from growing the database forever …
juliusmarminge Oct 28, 2026
9638e17
fix(relay): tunnel cleanup keeps up with new idle tunnels (#26135)
juliusmarminge Oct 28, 2026
4b00290
fix(server): delegate cgroups to agent scopes (#23913)
juliusmarminge Oct 28, 2026
3b2f958
fix(server): ACP Registry searches reuse a recently fetched index (#2…
juliusmarminge Oct 28, 2026
67661cf
chore: delete 18k lines of code that nothing reaches (#26238)
t3dotgg Oct 28, 2026
e0b3cfe
fix(web): image and file chips underline their name on hover again (#…
flamboh Oct 28, 2026
2de4762
fix(mobile): tab bar hides with the push, logo fits the iPad sidebar,…
juliusmarminge Oct 28, 2026
91992bd
fix(web): update dialog shows one row per machine (#26210)
t3dotgg Oct 28, 2026
7c6446b
chore(mobile): e2e review skips behaviour confirmed as intended
juliusmarminge Oct 28, 2026
36aea58
fix(mobile): trust user-installed Android CA certificates (#25730)
juliusmarminge Oct 28, 2026
8947f3e
fix(web): server rows keep their source visible, cmd-click opens your…
t3dotgg Oct 28, 2026
f120c51
fix(mobile): list bullets keep a gap before their text at every text …
juliusmarminge Oct 28, 2026
949929d
fix(mobile): Android split content keeps a gap at the screen edge (#2…
juliusmarminge Oct 28, 2026
c2fbf0a
feat(server,web,mobile): thread links name their environment and neve…
juliusmarminge Oct 28, 2026
fe55faf
fix(clients): # suggestions put linked pull requests first for text q…
juliusmarminge Oct 28, 2026
49a9e80
fix(terminal): keep shared terminal grids in sync (#24352)
juliusmarminge Oct 28, 2026
0c80751
feat: sign in to GitHub through the T3 Code for GitHub app [internal …
juliusmarminge Oct 28, 2026
ff71186
test(mobile): vp run mobile:behavior grades app behavior on pool devices
juliusmarminge Oct 28, 2026
9910c0e
perf: reduce remote reconnect and command delays (#25754)
Bil0000 Oct 28, 2026
822fc15
fix(relay): deploys plan again after the Worker lost its default expo…
juliusmarminge Oct 28, 2026
3ef1610
fix(web): compaction row says "Compacting for 12s" instead of "after …
t3dotgg Oct 28, 2026
9a8bc04
test(task-cache): remove flaky native runner integration test
juliusmarminge Oct 28, 2026
c4606e5
fix(server): Codex shadow homes share thread writer locks with the ma…
t3dotgg Oct 28, 2026
28da8c8
fix(mobile): sidebar connection status uses the header's free width (…
juliusmarminge Oct 28, 2026
9c6429d
fix(web): threads without a project start on the primary environment …
juliusmarminge Oct 28, 2026
cafdcda
fix(clients): give image attachment chips a blue accent (#26306)
Yash-Singh1 Oct 28, 2026
afc2334
fix(web): prevent image thumbnails from warping during repaints (#26308)
Yash-Singh1 Oct 28, 2026
49582b7
test(web): attachment font and large-text preview tests wait for the …
juliusmarminge Oct 28, 2026
8031991
fix(opencode): subagent sessions follow runtime mode changes (#26302)
juliusmarminge Oct 28, 2026
1f8530e
feat(web): pending approvals show on their timeline row (#26255)
maria-rcks Oct 28, 2026
9b052a2
fix(web): show the platform modifier in the send tooltip (#22436)
UtkarshUsername Oct 28, 2026
feb49e7
fix(web): let theme color pickers use popover glass (#22348)
UtkarshUsername Oct 28, 2026
9bc0419
fix(relay): concurrent link requests can no longer exceed the managed…
juliusmarminge Oct 28, 2026
003ccd3
fix(client-runtime): pairing links can no longer add routes to a save…
juliusmarminge Oct 28, 2026
feb2e32
fix(web): align sidebar button geometry with shared tokens (#22287)
UtkarshUsername Oct 28, 2026
c0f9e36
fix(mobile): pairing deep links can no longer target a saved environm…
juliusmarminge Oct 28, 2026
8e76f94
feat(relay): T3 Chat Pro and Premier accounts get more tunnels (#25931)
t3dotgg Oct 28, 2026
0deb383
test(mobile): pairing link test runs the app's real link parsing (#26…
juliusmarminge Oct 28, 2026
50d3a31
fix: guests see the screenshots the agent shows in its replies (#26323)
t3dotgg Oct 28, 2026
a9418a1
ci(release): releases no longer reinstall Vite+ in every job (#26305)
t3dotgg Oct 28, 2026
f6d3700
ci: server test shards survive a throttled task cache (#26332)
t3dotgg Oct 28, 2026
4e4d4ba
feat(web): boring sidebar groups threads into project folders (#21039)
t3dotgg Oct 28, 2026
9ebca5f
fix(relay): tunnel limit counts abandoned reprovisions and frees fail…
juliusmarminge Oct 28, 2026
cadbdaf
test(web): attachment preview tests wait long enough for cold workers…
t3dotgg Oct 28, 2026
2349c81
refactor(mobile): app link parsing reads top to bottom with pipe (#26…
juliusmarminge Oct 28, 2026
ce66aab
ci(release): Windows CLI builds retry the Node.js download (#26345)
t3dotgg Oct 28, 2026
990e9e0
fix(web): preserve handoffs before superseded attempt folds (#26333)
Yash-Singh1 Oct 28, 2026
441a4eb
feat(web): open tool call diffs in the diff panel (#26304)
Yash-Singh1 Oct 28, 2026
cfc8be9
ci: a stalled Node.js download retries after 2 minutes, not 10 (#26343)
t3dotgg Oct 28, 2026
c3f5e36
fix(server): avoid replaying stale Codex usage limits (#26331)
Yash-Singh1 Oct 28, 2026
ff42480
feat(web): mark PR files viewed with shift-click (#26349)
Yash-Singh1 Oct 28, 2026
9bc4138
refactor: flatten nested call chains (#26350)
juliusmarminge Oct 28, 2026
10e709c
fix(queued-message): avoid duplicate queued message entries (#26355)
Yash-Singh1 Oct 28, 2026
f17c9d2
fix(models): new Claude threads default to Opus 5.5 (#26358)
t3dotgg Oct 28, 2026
a4e1986
docs: T3 Chat Pro and Premier raise the T3 Connect tunnel limit (#26366)
t3dotgg Oct 28, 2026
dac58fa
fix(web): use neutral indicators for inactive source control provider…
UtkarshUsername Oct 28, 2026
cb4fe60
fix(web): show the thread details tooltip (#24864)
UtkarshUsername Oct 28, 2026
975b3dc
fix(client-runtime): keep subagent questions off parent threads (#26367)
Yash-Singh1 Oct 28, 2026
be2ea30
fix(build): keep effect out of the public-config bootstrap (#26371)
juliusmarminge Oct 28, 2026
4c9c7d0
chore(mobile): bump app version to 2.2.0
t3-code-bot[bot] Oct 28, 2026
c677d5f
fix(web): scroll-to-end button no longer jumps up and down (#26375)
t3dotgg Oct 28, 2026
07f7f97
ci(release): releases stop depending on npm and nodejs.org when nothi…
t3dotgg Oct 28, 2026
001d16e
feat(web): boring sidebar hides projects with no active threads (#26387)
t3dotgg Oct 28, 2026
9f33a1c
feat(web): show T3 Connect tunnel usage and push full accounts to T3 …
t3dotgg Oct 28, 2026
40d335a
fix(web): settling a thread no longer scrolls the sidebar to the bott…
t3dotgg Oct 28, 2026
80fcb7f
fix(web): boring sidebar folders put your latest message on top (#26391)
t3dotgg Oct 28, 2026
2a73827
fix(server): threads settle right away when a watched PR merges (#26395)
t3dotgg Oct 28, 2026
d2429f7
fix(server): load long thread history in bounded pages (#26240)
Yash-Singh1 Oct 28, 2026
c3858bf
fix(web): snooze options sort soonest first, fit 2 digits, and link f…
t3dotgg Oct 28, 2026
48a2923
fix(web): file preview wrap buttons no longer turn off word wrap ever…
t3dotgg Oct 28, 2026
bd84b17
feat(web): simpler composer with grouped controls, effort words and n…
t3dotgg Oct 28, 2026
96a330c
fix(web): remote delegates show their harness icon, a parent row, and…
t3dotgg Oct 28, 2026
1abf368
fix(build): builds no longer fail when GitHub's CDN times out on lice…
t3dotgg Oct 28, 2026
0160c44
feat(server): agents list snoozed threads across all projects in one …
t3dotgg Oct 28, 2026
c280e64
fix(server): searching delegate models by provider name no longer sho…
t3dotgg Oct 28, 2026
eb751fa
fix(web): chat tables open at the right size instead of collapsed and…
t3dotgg Oct 28, 2026
6bc87b9
ci(release): desktop builds stop hitting the npm registry for staged …
t3dotgg Oct 28, 2026
5211acf
feat(web): boring sidebar can show folder threads on two lines (#26463)
t3dotgg Oct 28, 2026
125b619
fix(server): release completed pull request sweep data (#25177)
juliusmarminge Oct 28, 2026
d5f1d0a
test(evals): device manager cases for mcp-tool-use (#25850)
gabrielelpidio Oct 28, 2026
d07c0a7
fix(server): agents drive simulators through the device tools instead…
gabrielelpidio Oct 28, 2026
30eb7e7
fix(mobile): overlay sidebar header blurs content scrolling under it …
juliusmarminge Oct 28, 2026
fec83a1
fix(web): numbered composer lists nest and lift correctly (#17138)
michal-billtech Oct 28, 2026
612a8e5
feat(mobile): add dynamic workflows to the Agents sheet (#18642)
Bil0000 Oct 28, 2026
237498c
fix(ci): Android merges stop cutting a new Play Store build every tim…
juliusmarminge Oct 28, 2026
886d8f6
fix(mobile): dictation confirm button no longer hugs the small compos…
juliusmarminge Oct 28, 2026
be6ff17
feat(devices): lease simulators and emulators from a Simlock pool (al…
juliusmarminge Oct 28, 2026
ba18706
fix(mobile): use a native split button for Android merges (#26373)
PixPMusic Oct 28, 2026
9e09926
docs: settings paths name the Environments and Sharing & access pages…
juliusmarminge Oct 28, 2026
9826dbb
docs(agents): agents verify in a browser or simulator without asking …
juliusmarminge Oct 28, 2026
5b89a53
feat(pull-requests): manage GitHub maintainer edits (#25588)
Bil0000 Oct 28, 2026
d464631
fix(web): image chips drop the pill and match other chips (#26379)
flamboh Oct 28, 2026
e34067e
fix(mobile): align settled and active thread rows (#26622)
PixPMusic Oct 28, 2026
e677e97
fix(server): publish local git status before remote lookup (#21046)
JustYannicc Oct 29, 2026
26caea2
fix(server): outside MCP clients get thread links they can open (#26642)
t3dotgg Oct 29, 2026
725573f
fix(web): double-click selects the whole inline code span (#26639)
t3dotgg Oct 29, 2026
b287102
fix(acp): ID-only command approvals keep the tracked command and gran…
juliusmarminge Oct 29, 2026
37a9ca0
fix(cursor): subagent ls, lint and MCP results no longer fail the par…
juliusmarminge Oct 29, 2026
29f33af
perf(web): long-thread timeline rebuilds 45 → 9 ms, tool updates 12 →…
juliusmarminge Oct 29, 2026
a42bdd4
fix(mobile): a thread opened while reconnecting no longer turns into …
shivamhwp Oct 29, 2026
221610f
fix(web): keep settled drop hint inside the sidebar viewport (#26736)
Yash-Singh1 Oct 29, 2026
be7d86f
feat(devices): Simlock setup uses each machine's agent-device token, …
juliusmarminge Oct 29, 2026
a5448f4
fix(web): pull request diff follows the file tree, with a hide-tests …
juliusmarminge Oct 29, 2026
8ff9ae1
fix(mobile): delivered messages no longer reappear at the bottom of l…
juliusmarminge Oct 29, 2026
d8f4980
ci(mobile): fork PRs now get the Native Change label (#26755)
juliusmarminge Oct 29, 2026
5eebf77
fix(claude): command approvals show the command, not Claude's descrip…
maria-rcks Oct 29, 2026
7b87466
docs: add nixpkgs installation instructions (#26750)
0x4bs3nt Oct 29, 2026
861a51a
feat(server,web,mobile): fall back when the default provider is out o…
maria-rcks Oct 29, 2026
783581d
fix(ci): fork PRs now resolve in workflow_run PR lookups (#26779)
juliusmarminge Oct 29, 2026
8298664
fix(server,cursor,opencode): refresh provider usage when a turn hits …
maria-rcks Oct 29, 2026
fe219c4
fix(web): keep tool groups collapsed after a usage-limit pause (#24937)
shivamhwp Oct 29, 2026
7632c3d
fix(mobile): photo-library PNGs no longer fail after resizing (#26522)
shivamhwp Oct 29, 2026
ab1e221
fix(server): guest links no longer return file diffs (#26538)
nexxeln Oct 29, 2026
eb565e1
fix(claude): Open diff shows Claude edits as a diff instead of raw JS…
nexxeln Oct 29, 2026
dac8b11
chore: vouch nexxeln (#26812)
t3dotgg Oct 29, 2026
f855f01
chore(release): prepare v0.1.4
t3-code-bot[bot] Oct 29, 2026
310c128
feat(web): Labs toggle keeps 5h, weekly, and context limits in view (…
t3dotgg Oct 29, 2026
6d82a22
fix(desktop): bump Electron to 44.10.0 for the Node.js Brotli fix (CV…
nabettu Oct 29, 2026
da1eab0
chore: make agent mistakes fail early (#26167)
t3dotgg Oct 29, 2026
ccaa3ad
feat(marketing): hero shows four agents running at once (#26875)
t3dotgg Oct 29, 2026
35b298a
fix(web): undo notice moves to the sidebar footer so it never covers …
t3dotgg Oct 29, 2026
58e60bf
feat: turn a No project thread into a project (#26767)
t3dotgg Oct 29, 2026
4432fbe
feat(antigravity): Claude and GPT models, thinking levels, and diff e…
t3dotgg Oct 29, 2026
d7935f1
feat(web): choose what the thread details card shows (#26904)
t3dotgg Oct 29, 2026
f2943ee
feat(updates): switch your whole fleet between Stable and Nightly in …
t3dotgg Oct 29, 2026
c1876b5
fix(antigravity): file reads no longer show unrelated errors (#26910)
t3dotgg Oct 29, 2026
b5fc7be
feat(release): release notes and the update popover open with a short…
t3dotgg Oct 29, 2026
48247dd
fix(cli): t3 starts on a fresh Ubuntu server without libatomic (#26912)
t3dotgg Oct 29, 2026
e6ca170
fix(web): update everything no longer waits on npm for service hosts …
t3dotgg Oct 29, 2026
3748c5c
test(web): pin the npm wait floor for update everything (#26921)
t3dotgg Oct 29, 2026
7f55281
fix(antigravity): served reads stop spinning and duplicate model name…
t3dotgg Oct 29, 2026
9acb769
fix(server): queue Copilot follow-ups without killing background agen…
shivamhwp Oct 29, 2026
4453f53
fix(web): Antigravity effort no longer shows a speedometer in the com…
t3dotgg Oct 29, 2026
6d450a4
fix(release): Linux CLI archives build on runners without package doc…
t3dotgg Oct 29, 2026
2554bdb
hosted: configurable client session TTL
immakermatty Oct 29, 2026
a695208
hosted: serve behind an explicit HTTPS external origin
immakermatty Oct 29, 2026
2fb86ef
hosted: explicit environment label
immakermatty Oct 29, 2026
d9b9001
feat: in-app update from the configured release channel
immakermatty Oct 29, 2026
409d307
lazurio: unsent prompt draft by link from the shell
immakermatty Oct 29, 2026
49a7802
feat(web): Lazurio shell slot
immakermatty Oct 29, 2026
89c0775
feat(server): each thread's provider processes get its agent-browser …
immakermatty Oct 29, 2026
f5ac655
feat(web): the right panel shows the thread's Environment browser tabs
immakermatty Oct 29, 2026
4d84a82
feat(server): T3's browser tools drive the Environment browser
immakermatty Oct 29, 2026
bc47697
feat(server): a thread's Environment browser tabs live in its holder …
immakermatty Oct 29, 2026
aa86e0b
feat(server): archiving or deleting a thread lets go of its tabs and …
immakermatty Oct 29, 2026
c8af9a0
feat(web): "+" and the empty panel open Nová karta
immakermatty Oct 29, 2026
03a9be0
feat(lazurio): provide a managed Folder project and native model reco…
immakermatty Oct 29, 2026
df51586
feat(web): the in-app name T3 Code (Lazurio)
immakermatty Oct 29, 2026
4c09244
feat(web): the design system's light look on a Lazurio Environment
immakermatty Oct 29, 2026
39e8bda
feat(lazurio): providers sign in through Lazurio, and the Launchpad t…
immakermatty Oct 29, 2026
c98ce00
feat(lazurio): the Environment pairs its own browser
immakermatty Oct 29, 2026
4669d28
feat(server): t3 auth session issue sets an MCP client's runtime-mode…
immakermatty Oct 29, 2026
40edb6b
feat(lazurio): agents work with T3 Code threads through t3 thread, re…
immakermatty Oct 29, 2026
a541c8e
feat(server): T3's Codex threads ask the user through request_user_input
immakermatty Oct 29, 2026
0220cbc
feat(lazurio): Buddy's Hermes gets only the person's words and the pa…
immakermatty Oct 29, 2026
740cd01
feat(lazurio): agents send once per idempotency key, and Delegace fin…
immakermatty Oct 29, 2026
2b6cbdd
feat(lazurio): Buddy's T3 Code is Buddy's one conversation, framed by…
immakermatty Oct 29, 2026
8b27732
feat(lazurio): the page Buddy is asked from travels as a chip the per…
immakermatty Oct 29, 2026
e2ec975
feat(lazurio): a thread shows when Buddy or Delegace sent a message o…
immakermatty Oct 29, 2026
a459599
feat(lazurio): Buddy's chat reads like a chat with a friend
immakermatty Oct 29, 2026
bef0f30
fix(server): a steer waits behind a turn that waits on the person
immakermatty Oct 29, 2026
d990603
fix(server): a commit, push or pull request finishes when its connect…
immakermatty Oct 29, 2026
d01b13b
fix(web): a saved follow-up 'queue' becomes 'steer' once on the v0.1.…
immakermatty Oct 29, 2026
f3e89eb
feat(acp): steer an agent's running turn through _lazurio/steer inste…
immakermatty Oct 29, 2026
2d22c87
release: Lazurio distribution
immakermatty Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
87 changes: 87 additions & 0 deletions .agents/skills/lazurio-upstream-rebuild/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
name: lazurio-upstream-rebuild
description: Přestaví Lazurio T3 Code na nové stabilní vydání upstream T3 Code end to end podle runbooku forku (inventura, rozhodnutí, candidate, CI, review, zachycení starého main, výměna main, preview, Ring 0 s ověřením v prohlížeči, stable a plán dalších vln). Použij, když upstream vydá stable vX.Y.Z, když se otevře issue „Přestavba na upstream T3 Code“ nebo když Operátor řekne „použij skill“ k nové verzi. Nepoužívej na běžnou opravu overlaye na stejné bázi.
---

# Přestavba Lazurio T3 Code na nový upstream

Tento skill vede práci. **Kroky, příkazy a overlay drží jen runbook**
[`docs/operations/lazurio-fork-release.md`](../../../docs/operations/lazurio-fork-release.md)
(sekce „Nové stabilní vydání upstreamu“, etapy 1–9) a
[`docs/operations/lazurio-overlay.md`](../../../docs/operations/lazurio-overlay.md). Než začneš,
přečti obě celé na aktuálním `main` (ne ze starého checkoutu). Když runbook při práci nesedí,
oprav runbook ve stejné přestavbě (řádek 5); tenhle skill nerozšiřuj o kroky.

## Mandát

Na začátku si od Operátora ujasni rozsah (bez něj platí jen etapy 2–5, viz runbook
„Zadání pro Task Agenta“):

- etapy, které smíš udělat sám (typicky 2–9 bez vln mimo Ring 0);
- že schválení vydání v `lazurio-t3code-release` děláš jeho účtem, vždy jen na přesném SHA
a verzi, které jsi sám ověřil;
- co chce u řádků overlaye určitě zachovat a co posoudíš sám;
- komu patří Ring 0 a kdo tam ještě pracuje (domluv se s těmi vlákny dřív, než něco nasadíš).

Rozhodnutí, která by schvaloval Admin, smíš brát jako schválená jen tehdy, když to zadání výslovně
říká; i pak je zapiš do issue přestavby s citací a zdrojem.

## Průběh

1. **Orientace.** Root `AGENTS.md`, worktree disciplína (primární checkout nech na `main`),
volné místo na disku (počítej asi 1 GB na worktree s `node_modules`), toolchain
(pnpm a vite-plus přes `npx --yes pnpm@<verze z package.json>`), aktivní tailnet a vlákna,
která pracují na Ring 0. Ověř přesný tag proti `pingdotgg/t3code` (etapa 2).
2. **Issue přestavby** podle šablony z runbooku: přejmenuj otevřené issue na novou verzi, nebo
založ nové. Vstupy vyplň hned.
3. **Inventura paralelně, jen čtení** (etapa 2 a brány z etapy 5). Rozděl řádky do skupin,
které spolu sdílejí soubory (osvědčilo se: hosted a vydávání 1–5 s branami; server prohlížeče
Environmentu 8, 10–12; web 6, 7, 9, 13, 16, 17; spravovaná složka, přihlášení a párování 15, 18,
19; agenti a otázky 20–22; Buddy 23–28; usměrnění a fronta 30–33). Dodatek, který na `main`
nese pozdější commit, vrať do jeho řádku. Každé skupině dej společné zadání (cesty, SHA, závazná přání
Operátora, formát zprávy po řádcích) a ať píše zprávu do souboru. Zprávy čti sám a tvrzení, na kterých stojí rozhodnutí, ověř v kódu.
4. **Rozhodnutí do issue dřív, než se změní kód.** Tabulka po řádcích (ponechat, přestavět,
zmenšit, odebrat, nabídnout upstreamu) a brány. Kde upstream umí totéž stejně dobře, řádek odeber.
5. **Zachycení starého `main`.** Když se `main` od posledního stable liší mimo `docs/`, vydej
nejdřív stable na staré bázi: preview na Ring 0 (záloha databáze, `t3 update` s potvrzením),
kontrola v prohlížeči, pak stable ze špičky `main`. Dispatch dělá jiný účet než schvalovatel
(environment má `prevent_self_review`); ověř publikované vydání podle runbooku.
6. **Candidate** (etapa 3). Řádky, které jdou přenést s malou úpravou, přehraj sám rovnou do větve
`lazurio/rebuild-vX.Y.Z` po souborech (runbook, etapa 3). Těžké řádky dej implementačním
skupinám ve vlastních worktree z přesného tagu, každá commit na řádek; společné zadání jako
u inventury, k tomu „nikdy nepushuj, nesahej na `main`“. Závislosti mezi skupinami řeš dočasným
lešením, které při integraci zahodíš. Commity skupin přenes do větve cherry-pickem v pořadí
Cílového stacku, řádek 5 poslední. Pre-commit hook od v0.1.5 spouští `knip:check` nad celým
repozitářem: přehrávej s `--no-verify` a knip pusť nad hotovým stackem (runbook, etapa 3).
7. **Kontrola integrace.** Diff každého řádku přečti sám, typecheck, lint a testy spusť sám (ne jen
převezmi hlášení skupin; k nim `vp run knip:check`; ve worktree vnořeném v jiném repozitáři ověř formát a lint podle
runbooku, etapa 3), a teprve pak push a draft PR (etapa 4). Když `pull_request` CI na
draft PR neběží, spusť `Lazurio Fork CI` ručně na větvi.
8. **Review** od Stewarda (nebo review agenta jeho Organizace) na přesném headu. Skutečné vady oprav hned;
drobnosti a rozšiřování scope odmítni věcnou námitkou v PR (root `AGENTS.md`, rozhodnutí 0163).
9. **Brány kompatibility** (etapa 5): každou zapiš do issue i s tím, jak je ověřená.
10. **Výměna `main`** (etapa 6) přesně podle runbooku: přesné SHA, `--force-with-lease`, nikdy
automatický retry; po výměně vypni nové upstream workflow.
11. **Preview a Ring 0** (etapa 7): kontroly z runbooku a kontrola v prohlížeči. Ta potřebuje
přihlášení člověka nebo testovací účet z lokální custody Ring 0; použij vlastní profil
prohlížeče, ať tě neodhlásí test jiného vlákna. Agentní turn s Codexem i Claude jen tam, kde je
AI.
12. **Stable** (etapa 8) ze stejného commitu po souhlasu Admina (nebo podle mandátu), Ring 0 zpět
na stable a test tlačítka Update z předchozího stable.
13. **Další vlny** nenasazuj sám, pokud to mandát neříká: předlož Operátorovi plán (Environmenty,
pořadí, okna, přepnutí tailnetu, změny Machines a Platformy, oznámení lidem).
14. **Po vydání** (etapa 9): návrhy upstreamu, runbook (Cílový stack, „Upstream a přestavba“, vše,
co při přestavbě nesedělo), zavření issue.

## Kdy se zeptat Operátora

Jen když odpověď nenajdeš v runbooku, rozhodovacím registru, issue ani kódu, nebo když bez něj
nejde pokračovat bezpečně: přihlášení člověka, rozhodnutí mimo mandát (nové chování, které zadání
nepokrývá), nasazení mimo Ring 0, a selhání, které vyžaduje volbu mezi dvěma mechanismy. Ptej se
jednou a sdruženě.

## Handoff

Pro Operátora česky a lidsky: co se změnilo pro lidi na Environmentech, které funkce overlaye
zůstaly, které nahradil upstream a proč, co je ověřené v prohlížeči. Odkazy na PR, vydání a issue,
přesné SHA a verze, plán dalších vln a co zůstává otevřené.
4 changes: 4 additions & 0 deletions .agents/skills/lazurio-upstream-rebuild/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "Lazurio Upstream Rebuild"
short_description: "Rebuild Lazurio T3 Code on a new upstream stable, end to end"
default_prompt: "Use $lazurio-upstream-rebuild to rebuild Lazurio T3 Code on the new upstream stable release."
13 changes: 13 additions & 0 deletions .agents/skills/test-t3-app/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@ Test with meaningful project and thread data. Read
[references/sqlite-fixtures.md](references/sqlite-fixtures.md) only when
inspecting or seeding SQLite. Stop the test server before direct fixture writes.

## Drive agent turns for free

Do not spend a paid model to see a turn render. `vp run dev` registers the
`Replay (dev)` provider, which replays recorded turns with simulated streaming
through the real adapter and orchestration. Its models are scenarios:
`showcase` covers thinking, a plan, tool calls, an approval, and markdown.
Press `Ctrl+Alt+Shift+R` for a picker (GNOME takes that key for screen
recording), call `window.t3dev.replay("showcase")`
with `preview_evaluate`, or run
`node apps/server/src/bin.ts thread start --base-dir .t3 --provider devReplay --model showcase <project> "go"`.
When the test needs real provider behavior, use that provider's cheapest
model, such as Haiku for Claude or Luna for Codex.

## Use the Browser panel

Call `preview_status`, then `preview_open` if the Browser panel is
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/test-t3-mobile/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ This installs the dev client for the checkout's native fingerprint: from the
device, the local cache, or the shared cache in seconds, building once only
when no machine has that fingerprint yet (5-15 minutes, logged to the file it
names). The device id may be omitted when exactly one device is booted. It
prints one JSON line; on failure it names the next command. Authorized mobile
verification includes that step unless the user prohibits it.
prints one JSON line; on failure it names the next command. Mobile verification
includes that step unless the user prohibits it.

For a device you opened in an agent-device session elsewhere (a device pool,
cloud, or remote host), run `vp run mobile:install <ios|android> --session <s>`
Expand Down
6 changes: 6 additions & 0 deletions .coderabbit.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,19 @@ export default defineConfig((ctx) => ({
path: "apps/web/src/**/*.{tsx,css}",
instructions: "Hold changed code to the rules in docs/internals/web-ui.md.",
},
{
path: "**/*.test.*",
instructions:
"Hold changed tests to the rules in docs/internals/testing.md. Request tests only as those rules allow.",
},
],
},
knowledge_base: {
code_guidelines: {
filePatterns: [
{ files: "docs/internals/effect-services.md", applyTo: "{apps,packages,infra}/**/*.ts" },
{ files: "docs/internals/web-ui.md", applyTo: "apps/web/src/**/*.{tsx,css}" },
{ files: "docs/internals/testing.md", applyTo: "{apps,packages,infra}/**/*.{ts,tsx}" },
],
},
},
Expand Down
76 changes: 76 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
.git
.github
.repos
.vite-plus
.vite-hooks
.vite-hooks/
.worktrees
.bun
.bun/
.turbo
.turbo/
.astro
.astro/
.tanstack
.tanstack/
.vitest-*
.cache
.cache/
.pnpm-store
.pnpm-store/
.idea
.idea/
.DS_Store
.t3
.t3/
**/.t3
**/.t3/
.alchemy
.alchemy/
**/.alchemy
**/.alchemy/
.vercel
.vercel/
**/.vercel
**/.vercel/
.gstack
.gstack/
.plans
.plans/
.logs
.logs/
.env*
**/.env*
.npmrc
**/.npmrc
.netrc
**/.netrc
*.log
release
release/
release-mock
release-mock/
artifacts
artifacts/
build
build/
coverage
coverage/
squashfs-root
squashfs-root/
.electron-runtime
.electron-runtime/
.showcase
.showcase/
__screenshots__
__screenshots__/
**/__screenshots__
**/__screenshots__/
apps/web/.playwright
apps/web/.playwright/
apps/web/playwright-report
apps/web/playwright-report/
**/node_modules
**/dist
**/dist-electron
*.tsbuildinfo
81 changes: 81 additions & 0 deletions .github/ISSUE_TEMPLATE/1-lazurio-t3-code.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Lazurio T3 Code problem
description: Report a problem with Lazurio T3 Code, the modified distribution of T3 Code in this repository.
labels:
- bug
body:
- type: markdown
attributes:
value: |
This repository is Lazurio T3 Code, a modified distribution of T3 Code for Lazurio
Environments. Report problems with it here, not to the T3 Code team. If the problem also
happens in upstream T3 Code, report it upstream too.

Do not report a security problem in a public issue. Report it privately: on this
repository's **Security** tab, choose **Report a vulnerability**.

- type: dropdown
id: area
attributes:
label: Area
description: Which part of Lazurio T3 Code is affected?
options:
- Environment browser (right panel, New tab, browser tools)
- Lazurio Folder project
- Lazurio shell (rail, app switcher)
- Name or look on a Lazurio Environment
- Prepared prompt from Lazurio
- Updates and releases
- Hosting (sign-in, pairing, session)
- Something else, or not sure
validations:
required: true

- type: textarea
id: what-happened
attributes:
label: What happened
description: What you did, what you expected, and what happened instead.
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
placeholder: |
1. Open Chat on the Environment
2. ...
validations:
required: true

- type: input
id: version
attributes:
label: Version
description: Settings → General shows it, and so does `t3 --version` on the Environment.
placeholder: 0.1.5-lazurio.1
validations:
required: true

- type: input
id: browser
attributes:
label: Browser and device
placeholder: Chrome on macOS

- type: dropdown
id: upstream
attributes:
label: Does it also happen in upstream T3 Code?
options:
- "No"
- "Yes"
- Not checked
validations:
required: true

- type: textarea
id: details
attributes:
label: Logs or screenshots
description: The most relevant part only. Remove secrets, tokens and private names first.
Loading
Loading