Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9e3e9bb
fix(mobile): reduce thread feed scroll jank (#4874)
gabrielelpidio Jul 30, 2026
35a6840
fix(web): restore sidebar v2 thread actions and terminal icon (#4712)
Noojuno Jul 30, 2026
2d9066e
fix(web): settle button now works on hover, not just right-click (#4905)
t3dotgg Jul 30, 2026
758deca
fix(clients): disable add project while disconnected (#4834)
StiensWout Jul 30, 2026
b125b76
fix(composer): hide default Codex service tier (#4784)
maxktz Jul 30, 2026
748203e
docs: link iOS and Android app store downloads (#4902)
t3dotgg Jul 30, 2026
6efcf3e
fix(web): align remote server update action (#4731)
StiensWout Jul 30, 2026
6ab2f16
fix(connect): suggest a serve command that matches how you ran connec…
t3dotgg Jul 30, 2026
00da6b5
fix(mobile): stop shared content errors in Personal Team builds (#4943)
t3dotgg Jul 30, 2026
f0f16e4
perf(mobile): sends respond instantly, thread opens stop freezing (#4…
t3dotgg Jul 30, 2026
9146ed2
fix(web): show Codex fast mode as a bolt (#4947)
t3dotgg Jul 30, 2026
2f466ff
docs: seed worktrees with a copy of real userdata instead of banning …
t3dotgg Jul 30, 2026
2652fee
fix(mobile): support dragged images in the composer (#4953)
t3dotgg Jul 30, 2026
90f3913
fix(mobile): stop long iOS threads from jumping while scrolling up (#…
t3dotgg Jul 30, 2026
f0c6ba9
fix(web): keep worktree default when switching a draft's machine (#4964)
t3dotgg Jul 30, 2026
69a18ce
perf(mobile): reconnect environments immediately on resume (#4878)
t3dotgg Jul 30, 2026
cbe8052
feat(web): pasting a huge screenshot now compresses it instead of err…
t3dotgg Jul 30, 2026
5c9358a
feat(web): regenerate thread titles from sidebar (#4810)
t3dotgg Jul 30, 2026
197d348
fix(web): show server update progress through reconnect (#4903)
t3dotgg Jul 30, 2026
4b71a2a
feat(search): find threads by conversation content (#4959)
t3dotgg Jul 30, 2026
50871eb
fix: marketing site Vercel builds no longer die after ~100 deploys (#…
t3dotgg Jul 30, 2026
9dd425b
docs: split user and maintainer docs, fix 100+ stale claims (#4807)
t3dotgg Jul 30, 2026
e0513d2
fix(web): server updates no longer look like warnings (#4992)
t3dotgg Jul 30, 2026
1877237
fix(connect): reboots no longer strand the relay link, 403s now say w…
t3dotgg Jul 30, 2026
abc409c
Add project file picker (⌘P) and project content search (⇧⌘F) (#4855)
jakeleventhal Jul 30, 2026
6154b46
Check for mobile app updates on launch (#4958)
juliusmarminge Jul 30, 2026
323dc32
fix(mobile): support pre-Liquid-Glass iOS bottom toolbar (#4984)
gabrielelpidio Jul 30, 2026
edc503a
fix(server): restore PR detection without HOME (#4985)
StiensWout Jul 30, 2026
4ba4871
fix(web): fill fast mode icon (#5004)
maria-rcks Jul 30, 2026
1d77cec
fix: cache project favicons across web and mobile (#4767)
gabrielelpidio Jul 30, 2026
e482960
perf(ci): cut stale runs and redundant setup (#4802)
t3dotgg Jul 30, 2026
bc142f8
chore(mobile): bump app version to 1.0.1
juliusmarminge Jul 30, 2026
5b2577f
style(web): make scroll-to-end pill translucent (#5036)
maria-rcks Jul 30, 2026
4029b85
fix(ci): drop sparse-checkout from EAS workflows
juliusmarminge Jul 30, 2026
4d151ab
Merge remote-tracking branch 'upstream/main' into yordis/chore-sync-u…
yordis Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 31 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ on:
branches:
- main

concurrency:
group: ci-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
check:
name: Check
Expand All @@ -14,6 +18,11 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down Expand Up @@ -55,6 +64,11 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand All @@ -77,18 +91,25 @@ jobs:

mobile_native_static_analysis:
name: Mobile Native Static Analysis
runs-on: blacksmith-12vcpu-macos-26
runs-on: blacksmith-6vcpu-macos-26
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/scripts...

- name: Install mobile native static analysis tools
run: brew bundle install --file apps/mobile/Brewfile
Expand All @@ -103,13 +124,20 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/scripts...

- name: Exercise release-only workflow steps
run: node scripts/release-smoke.ts
9 changes: 8 additions & 1 deletion .github/workflows/deploy-relay.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,20 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=t3code-relay...

- name: Deploy production relay stage
id: deploy
Expand Down
17 changes: 14 additions & 3 deletions .github/workflows/mobile-eas-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,18 @@ name: Mobile EAS Preview

on:
pull_request:
types: [opened, reopened, synchronize, labeled, unlabeled]
types: [opened, reopened, synchronize, labeled]

jobs:
preview:
name: EAS Preview
if: contains(github.event.pull_request.labels.*.name, '🚀 Mobile Continuous Deployment')
if: |
contains(github.event.pull_request.labels.*.name, '🚀 Mobile Continuous Deployment') &&
(github.event.action != 'labeled' || github.event.label.name == '🚀 Mobile Continuous Deployment')
runs-on: blacksmith-8vcpu-ubuntu-2404
concurrency:
group: mobile-eas-preview-${{ github.event.pull_request.number }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: write
Expand All @@ -34,14 +39,20 @@ jobs:
uses: actions/checkout@v6
with:
fetch-depth: 0
# No sparse-checkout here: it makes actions/checkout fetch with
# --filter=blob:none, and eas-cli archives the project via
# `git clone --depth 1 file://<workspace>`, which fails (exit 128)
# when the partial clone can't serve the unfetched blobs.

- name: Setup Vite+
if: steps.expo-token.outputs.present == 'true'
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/mobile...

- name: Expose pnpm
if: steps.expo-token.outputs.present == 'true'
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/mobile-eas-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,20 @@ jobs:
uses: actions/checkout@v6
with:
fetch-depth: 0
# No sparse-checkout here: it makes actions/checkout fetch with
# --filter=blob:none, and eas-cli archives the project via
# `git clone --depth 1 file://<workspace>`, which fails (exit 128)
# when the partial clone can't serve the unfetched blobs.

- name: Setup Vite+
if: steps.expo-token.outputs.present == 'true'
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/mobile...

- name: Expose pnpm
if: steps.expo-token.outputs.present == 'true'
Expand Down
20 changes: 18 additions & 2 deletions .github/workflows/mobile-showcase-screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,21 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/mobile...
- --filter=@t3tools/scripts...

- name: Expose pnpm
run: |
Expand Down Expand Up @@ -77,13 +85,21 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/mobile...
- --filter=@t3tools/scripts...

- name: Expose pnpm
run: |
Expand Down
52 changes: 48 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ jobs:
uses: actions/checkout@v6
with:
fetch-depth: 0
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- id: check
name: Compare HEAD to last nightly tag
Expand Down Expand Up @@ -84,6 +88,10 @@ jobs:
uses: actions/checkout@v6
with:
fetch-depth: 0
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down Expand Up @@ -192,6 +200,10 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down Expand Up @@ -269,14 +281,19 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
fetch-depth: 0
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=t3...

- name: Build node-pty linux-x64 prebuild
shell: bash
Expand Down Expand Up @@ -359,14 +376,21 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
fetch-depth: 0
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: true
run-install: |
args:
- --filter=@t3tools/desktop...
- --filter=t3...
- --filter=@t3tools/scripts...

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -657,6 +681,10 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down Expand Up @@ -732,6 +760,10 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down Expand Up @@ -853,6 +885,10 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down Expand Up @@ -967,6 +1003,10 @@ jobs:
fetch-depth: 0
token: ${{ steps.app_token.outputs.token }}
persist-credentials: true
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- id: app_bot
name: Resolve GitHub App bot identity
Expand Down Expand Up @@ -1037,6 +1077,10 @@ jobs:
uses: actions/checkout@v6
with:
ref: ${{ needs.preflight.outputs.ref }}
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false

- name: Setup Vite+
uses: voidzero-dev/setup-vp@v1
Expand Down
Loading
Loading