Skip to content

v0.1.32

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Jul 18:12
e2e6853

Electron and React are the product authority

T4 Code has standardized on the Electron desktop shell and canonical React renderer. The abandoned
Flutter migration, its duplicate platform targets, and its CI and release plumbing have been
removed. macOS is the primary desktop target, Linux remains supported, and React/Capacitor Android
plus the responsive Tailnet browser/PWA remain compatibility clients for paired hosts.

The standardization preserves T4's standalone host, typed wire, OMP authority boundary, current
session and transcript behavior, native Browser workspace, terminal, files, review, secure
credentials, and signed update path. The public demo now builds from the same React client shipped
inside Electron, eliminating a second product implementation.

Session controls without lock takeover

New sessions created in T4 Code now restore their semantic thinking-level and fast-mode state after
attachment and transport reconnects. Existing sessions, including sessions owned by an OMP TUI,
remain observer-only: T4 does not issue the legacy state read that can start a supervisor and claim
the session lock.

Pull-request CI now treats client runtime changes as bridge-boundary changes and runs both the
current-runtime and pinned-legacy continuity gates.

A session rail built for large libraries

T4 Code v0.1.32 makes a large session library easier to navigate. The rail now supports text search, activity filters, newest/oldest sorting, grouped and flat layouts, collapsible project folders, and saved display preferences. Those controls follow the Codex desktop organization model while keeping OMP as the source of truth.

Project menus can create a session in that folder, reveal the folder in the system file manager, collapse the group, or hide it from the rail. Hidden projects are not deleted and can be restored from the filter menu. The reveal action is deliberately narrow: the host accepts only project paths already present in its session catalog.

Faster transcripts and easier context sharing

Opening a large session paints its newest saved transcript entries before older history finishes loading. The composer can insert bounded file references from the active workspace, and the session menu can export a transcript without exposing hidden host state. Session activity labels now follow authoritative runtime events, so a settled session no longer appears busy because of stale client-side timing.

Workspace polish and stable empty panes

The workspace shell, transcript, home pane, composer, and supporting panes now share a clearer and denser visual hierarchy. Empty activity, agent, file, review, and terminal panes keep their normal header and close control visible, so an empty result never traps the user in a pane without navigation.

More reliable macOS upgrades

When a bundled OMP upgrade temporarily fails to stop the existing macOS service, T4 Code now retries the stop-and-replace sequence. This avoids leaving the installed backend half-updated during normal desktop upgrades while preserving the existing signed-runtime checks.

The bundled backend now also recovers from an inactive Unix socket when the crashed owner's process ID still appears alive. It confirms the endpoint is unreachable more than once and revalidates every ownership file before reclaiming it, while leaving a responsive backend untouched.

T4 now owns the host service

T4 Code now packages its own standalone t4-host executable instead of running the network host inside OMP. The desktop replaces the old service definition directly and automatically repairs a stopped default service when the local connection falls back to reconnecting. The service label and local socket stay stable, so ordinary local clients and administrative commands keep using the same connection point.

OMP remains the authority for session files, locks, agent execution, credentials, and takeover decisions. The smaller omp bridge --stdio command exposes only the versioned authority operations T4 needs. T4 validates the exact t4-omp-authority/1 bridge before accepting an OMP installation and rejects older appserver-only runtimes.

Native Browser workspace

The desktop app now includes a built-in Browser workspace that is distinct from the existing host-backed Browser Preview workspace. Its tabs expose stable native surface state for navigation and rendering. New tabs use the credential-isolated isolated-session profile. Authenticated profiles are never selected automatically: each use requires the exact user-selected profile with explicit opt-in.

Native Browser automation is bounded to its surface contract. Touch input is currently unsupported and returns a capability error. The desktop closes native Browser surfaces and releases their supporting controllers when the renderer reloads, the window closes, or the app stops.

Host Browser Preview workspace

Session-linked Host Browser Previews continue to open in their dedicated workspace. The client projects bounded, sanitized preview state from the host, maps pointer and keyboard input through explicit permission gates, and uses leases so two clients cannot silently control the same preview at once. Preview activity records origins and paths without storing query strings, page pixels, credentials, or backend error text.

Runtime provenance

T4 Code v0.1.32 vendors app-wire 0.7.0 from integration commit 796bb7dc, source tree 0c195a01ba0bb98fbf4d4863aee59bf23a6e81b7. The frozen package remains compatibility evidence; T4 owns the active omp-app/1 wire schema.

The verified OMP 17.0.5 runtime is built from commit fc0c3913 and tagged t4code-17.0.5-appserver-13. It provides the bounded authority bridge used by T4's standalone host and no longer exposes the old public appserver launchers. It pages snapshot-consistent session inventories across bounded frames, marks over-limit inventories partial, and allows lifecycle actions only when a lock is missing or provably stale. It also keeps session-list metadata sparse before bridge encoding, publishes xd:// mounts atomically with their transport tools, and preserves bounded newest-first transcript paging, stale-owner recovery, privacy-safe local project reveal, lazy session indexing, cross-session attention and transcript search, and the negotiated browser-preview command surface. Unsupported optional capabilities remain hidden when the host does not advertise them.

The integration is based on the official upstream v17.0.5 tag, commit 9fd6e971. Official upstream OMP v17.0.5 has no appserver command and cannot host T4 Code.

Packages

The Android APK is signed and supports Android 7.0 or later. Linux packages target x86_64. macOS packages target Apple Silicon and are signed and notarized. Verify downloads with SHA256SUMS.txt.

What's Changed

  • fix(release): keep source verification dependency-free by @wolfiesch in #153
  • fix(release): separate repair control from source by @wolfiesch in #154
  • fix(release): install Bun for desktop packaging by @wolfiesch in #155
  • fix(release): separate publication control from source by @wolfiesch in #156
  • fix(release): preserve historical notes compatibility by @wolfiesch in #157
  • fix(release): separate site control from source by @wolfiesch in #158
  • fix(release): use validated site release identity by @wolfiesch in #159
  • release: ship session control compatibility in v0.1.32 by @wolfiesch in #160

Full Changelog: v0.1.31...v0.1.32