Skip to content

feat(trellis): show Trellis status and bases in Settings - #15

Merged
Andrey170170 merged 2 commits into
dev_v2from
trellis-v2/c-settings
Oct 2, 2026
Merged

Andrey170170 merged 2 commits into
dev_v2from
trellis-v2/c-settings

Conversation

@Andrey170170

Copy link
Copy Markdown
Owner

Trellis v1 Stage C, Lane T3 step 3, part 1 (M7 settings: status and bases).

Problem

Settings → Trellis had only the on/off switch, a one-line status and the trash, stacked as repeated per-environment cards. Stage C wants the Trellis service's state visible from T3, in the style of T3's other settings pages, with room for previews and history later.

Change

  • New RPC trellis.getDetails (read scope, wired like trellis.listBases). Trellis.details decodes GET /v1/status; every field except root is optional, so older Trellis versions work. TrellisCatalog.details names running workspaces from its last sync (project, project · fork, Ideas) at no extra request.
  • Settings → Trellis, per environment with Trellis ready, one heading per environment:
    • Trellis: the switch, with the same status line as before (the demo scripts wait on that exact text).
    • Service, with a refresh button: version and commit, uptime, free space, running workspaces (count and names), and agent homes. Shown only when present, with a warning icon: workspaces needing a restart (Trellis PR feat: Embedded browser? pingdotgg/t3code#37's restart_needed, decoded when present), missing providers, unfinished operations. After a failed refresh, a notice says the shown details are from an earlier time.
    • Bases: the default base is marked, with a warning when it is not built.
    • Trash: unchanged.
  • The details are read once per page view and then once a minute, like the status.
  • docs/user/trellis.md gets one line on what the page shows.

Not in this PR

  • Previews (local/LAN/tailnet): Trellis has preview_host in config.json but reports it nowhere in /v1/status, and there is no API to change it. Showing it needs a status field from Trellis (Ops lane); changing it needs a config API.
  • Rebuild button for bases: waits for POST /v1/bases/build (Ops step 5).
  • History settings (part 2): wait for the Records lane.

Checks

  • Tests: Trellis.test.ts decodes a full status, a minimal older one, and a podman failure. TrellisCatalog.test.ts covers workspace naming. TrellisSettings.logic.test.ts covers byte, version and stale-notice formatting.
  • Visual check: a dev T3 against /trellis/dev-t3, in light and dark, plus a proxy that adds every field. Screenshots are kept locally: /tmp/stagec-settings-*.png.
  • Local CI: knip:check, vp check, vpr typecheck and release-smoke pass. t3 tests fail only on the known CodexInstallation and AcpSessionRuntime.processTree failures. Package tests fail only on the known desktop libsecret and snapshot file-mode failures; client-runtime, relay and mobile pass when run separately. build:desktop fails on the known libsecret helper.
  • Reviews: Codex gpt-6.1-sol (stale details after a failed refresh, byte units; both fixed), then gpt-6-astra (nothing significant).

🤖 Generated with Claude Code

Andrey170170 and others added 2 commits October 2, 2026 14:38
Settings > Trellis now splits into sections per environment: the switch,
Service (version, uptime, free space, running workspaces, workspaces needing
a restart, missing providers, unfinished operations, agent homes), Bases
(default marked, an unbuilt default flagged) and Trash. Several selected
environments get a heading each instead of suffixed section titles.

The data comes from a new `trellis.getDetails` RPC: one `GET /v1/status`
read, decoded with every field optional so older Trellis versions read
"Not reported", and running workspaces named from the catalog's last sync.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…byte units

A failed refresh kept the previous details looking current; the Service
section now says it could not refresh, why, and from when the shown details
are. Byte sizes use decimal multiples to match their KB/MB/GB labels.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-02T21:15:57.440008Z 479aa1f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Oct 2, 2026
@Andrey170170
Andrey170170 merged commit c7f2392 into dev_v2 Oct 2, 2026
8 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant