Skip to content

v1.1.0 - The Big Quality Overhaul

Latest

Choose a tag to compare

@GGPrompts GGPrompts released this 11 Jun 03:36

The Big Quality Overhaul 🤖

This release closes out a 124-issue tracker sweep — 71 commits on release day alone, executed by a fleet of AI subagents working through the backlog wave by wave. It pairs a batch of new features with deep fixes for data loss, panics, security, performance, and Unicode correctness.

What's New

Agent Review Surface — TFE as the review layer for AI workflows

  • Changes Mode (Ctrl+G): filter to git-modified/untracked files across the project
  • Diff Preview: colorized git diff in the preview pane (toggle with d)
  • Tab-Based Review: open changed files as persistent tabs (t/T, Ctrl+W to close, Alt+arrows to cycle)
  • Diff-to-Clipboard: yank one diff (y) or all diffs (Y) as markdown for AI review
  • Push-to-Clean: after git push, the changes view clears and stale tabs close
  • Agent Conversation Viewer (Ctrl+A): browse Claude Code session JSONL files with color-coded rendering and live tailing

More new features

  • fsnotify file watcher with a 3-layer debounce pipeline and atomic-write handling
  • Menu bar reorganization: new Go, Git, and Settings menus; Profiles menu replaces the AI menu
  • Settings panel (Ctrl+,) with quick toggles, backed by a new ~/.config/tfe/config.toml
  • Configurable theme system via ~/.config/tfe/theme.toml, plus light-theme contrast fixes
  • Tmux integration: spawn splits from context menus and keybindings
  • Panel width lock (Ctrl+L) for dual-pane mode
  • OSC 7 emission so your terminal tracks TFE's working directory

Quality Overhaul

Data-loss fixes

  • Copying a file onto itself no longer truncates it to zero bytes
  • Cross-device trash moves no longer lose files when rollback fails; restore works across filesystems
  • Config/favorites/history/trash metadata written atomically; corrupted state files backed up instead of wiped

Security

  • Bumped golang.org/x/image and golang.org/x/net to fix reachable WEBP-panic and HTML-tokenizer vulnerabilities
  • File paths shell-quoted in viewer launch scripts

Stability

  • Fixed panics in command-input cursor handling, short commit hashes, and watcher shutdown
  • Fixed a data race in the markdown render goroutine
  • Fixed file-watcher goroutine/watcher leaks

Performance

  • File icons, directory counts, JSONL rendering, diff previews, and wrap counts are cached — no more per-row disk I/O or git subprocess spawns per frame
  • Event-driven tree rebuilding; removed the permanent 50ms tick loop
  • Hoisted styles, regexes, and map literals out of hot render loops

Unicode & width correctness

  • Visual-width-aware truncation/padding across tree view, detail view, status bar, title bar, transcripts, and dropdowns
  • Multibyte-safe backspace and cursor movement in all text fields
  • Removed all emoji variation selectors; upgraded go-runewidth to v0.0.24

Refactoring

  • Split the 2,617-line handleKeyEvent into focused mode handlers
  • Deduplicated pane headers, scroll indicators, dialog dispatch, and display-mode switching
  • Removed 12 unreachable functions and the dead async markdown pipeline

Installation

# One-line install
curl -sSL https://raw.githubusercontent.com/GGPrompts/TFE/main/install.sh | bash

# Or via Go
go install github.com/GGPrompts/tfe@v1.1.0

Full Changelog

See CHANGELOG.md for complete details.

🤖 Generated with Claude Code