pingdotgg/t3code v0.0.27 → v0.0.28

Release v0.0.28 is a broad product and platform release. The biggest themes are a heavier client/runtime architecture shift, a lot of UI polish across chat, settings, and the right panel, plus several user-visible fixes for desktop, mobile, Git, and browser-preview flows.

What's new

  • Bundles DM Sans and JetBrains Mono locally instead of loading them from Google Fonts, which makes the packaged desktop app and offline usage less dependent on a runtime font fetch (#3014).
  • Adds a richer workspace file browsing experience with a new files surface and file preview panel in the right rail, including maximize/restore controls and safe UTF-8 file reads rooted in the project workspace (#3087).
  • Introduces inline review and composition workflows in the file preview: markdown task checkboxes can be toggled, file preview comments can be added and removed, and review comments now show up as pending chips in the composer (#3115).
  • Adds more right-panel and diff controls, including bulk close and tab context-menu actions, inline plan rendering, and diff-scope switching between branch and unstaged-change views (#3116, #3118, #3169).
  • Expands provider and settings UI with an environment-variables table, a reworked accent color picker, provider update settings, and a sidebar that only shows enabled providers (#3026, #3130, #3168).
  • Adds browser and agent capabilities for the integrated preview flow, including visible browser annotations, screenshot/video capture, and preview automation surfaced through MCP tools (#3053).
  • Adds mobile-facing surfaces like archived threads, a mobile file viewer, a native composer and markdown renderer, and shared mobile typography tokens across the app (#3155, #3101, #3162).
  • Adds source-control and workflow helpers such as a clickable PR pill next to the branch selector, a worktree indicator on session rows, an origin-based worktree bootstrap option, and a configurable provider update-check setting (#3065, #3057, #3157, #3130).

Breaking changes

  • Desktop auth now uses the Clerk bridge and custom-scheme renderer origins. The old self-rolled Electron/Clerk integration is removed, and desktop primary-environment requests now authenticate with a bootstrap credential plus bearer token instead of browser session cookies (#3092).
  • The client connection layer was rewritten around a shared Effect-based runtime. Web, desktop, and mobile integrations now use explicit client-runtime subpath exports, persisted connection catalogs, and environment-scoped modules for auth, connections, projects, threads, shell, terminal, filesystem, source control, review, and presentation (#2978).
  • Diff panel state is no longer restored from URL search params. The diff surface now lives in persisted right-panel state, so ?diff=1 links no longer reopen the diff panel the old way (#3169).

Fixes

  • Fixed marketing icons on Linux so the download buttons render the right platform icon (#2696).
  • Fixed several composer and chat-input edge cases, including IME enter sending, non-resumable pending user input, and chat scroll anchoring after send (#2817, #2766, #3564).
  • Fixed stale VCS and preview state issues, including stale-target status updates, preview ownership, preview automation edge cases, and preview browser surface stability (#3084, #3172, #3561, #3565).
  • Fixed desktop startup and packaging issues on macOS and Electron dev/packaged renderer startup paths (#3058, #3557).
  • Fixed background Git behavior so passive fetches are non-interactive and status refreshes avoid unnecessary churn (#3133, #3037).
  • Fixed the browser preview annotation flow so the first annotation capture no longer gets stuck on subframe navigation (#3095).
  • Fixed the MCP session lifecycle with explicit DELETE-based termination and bound-host handling for the MCP endpoint (#3113, #3114).
  • Fixed saved environment removal so metadata and embedded credentials are removed atomically (#2917).

Other notable changes

  • The release includes a major Effect-service refactor across desktop, server, relay, client-runtime, and shared contracts. This is mostly structural, but it also standardizes error modeling and keeps failure context and trace IDs more explicit throughout the stack (#3185, #3182, #3187, #3198, #3190, #3193, #3181, #3186, #3204, #3205, #3194, #3200, #3178, #3180, #3188, #3189, #3191, #3192, #3196, #3197, #3199, #3201, #3202, #3203, #3207).
  • Desktop builds now stage fff native binaries for workspace search, and the workspace search layer itself was switched to fff-backed queries (#3109, #3099).
  • Provider and model handling gained a number of lifecycle updates, including service-tier sync, provider startup changes, configurable update checks, and updated model-picker behavior (#3036, #3130, #3021).
  • Mobile syntax highlighting was bumped to react-native-shiki-engine 0.3.12 (#3120).

Contributors

@juliusmarminge @ruzbyte @stromseng @mjc @HuakunShen @JustMarkDev @TheIcarusWings @StiensWout @Andrew-Forster @skiniks @soorria @repparw @sandersonstabo @Jgratton24

Only the most active 100 of 420 merged PRs were included. See the full compare view.