# Changelog

All notable changes to this extension will be documented in this file.

## [Unreleased]

## [0.1.20] - 2026-04-24

### Removed
- Remove the external `/readfiles-review` and `/readfiles-diff` commands so files-widget stays focused on the `/readfiles` browser/viewer.


## [0.1.18] - 2026-04-19

### Changed
- Show symlinks with a `↗` marker in the `/readfiles` tree.

### Fixed
- Let `/readfiles` navigate into directory symlinks in both non-git folders and git repos instead of rendering them as inert files or empty directories.
- Guard symlink directory scanning against ancestor cycles so links like `foo -> .` or `foo -> ..` don't recurse forever.
- Treat git-tracked and untracked directory symlinks as lazily scannable directories rather than plain files.

### Thanks
- Thanks to @xapids for reporting the original macOS symlink navigation issue ([#9](https://github.com/tmustier/pi-extensions/issues/9)).

## [0.1.17] - 2026-04-19

### Changed
- Make the inline comment editor multiline with wrapped footer rendering, `Enter` for a new line, and `Ctrl+Enter`/`Ctrl+D` to send.
- Add an `m` toggle for rendered vs raw Markdown in the viewer, and fall back to raw mode before line-based search or selection.
- Show a sent/queued confirmation toast after returning an inline comment to the agent.

### Thanks
- Thanks to avg8888 in the Pi Discord for surfacing the comment editor and Markdown review issues fixed in this release.

## [0.1.16] - 2026-04-19

### Fixed
- Let `/readfiles` browser search accept `j` and `k` as search text instead of hijacking them for navigation.
- Fix viewer scrolling so the last lines of a file remain reachable.
- Restore `G` / `Shift+G` navigation to jump to the bottom of the viewer.
- Refresh an open viewer when the file changes on disk while `/readfiles` is open.
- Accept pasted, multi-character, and chunked bracketed-paste input in browser search and the inline comment prompt.
- Keep viewer search results in sync after live refreshes.
- Pause live refresh while a line selection or inline comment is active so comments stay anchored to what the user selected.

## [0.1.14] - 2026-02-03

### Added
- Add preview video metadata for the extension listing.

## [0.1.13] - 2026-02-02

### Changed
- **BREAKING:** Renamed `/files` command to `/readfiles` to avoid conflict with Pi's new built-in `/files` command (Pi v0.50.2+)

## [0.1.11] - 2026-01-26

### Changed
- Require `bat`, `delta`, and `glow` before opening `/files`
- Add a postinstall reminder for required system tools
- Document install commands next to the Pi install steps

## [0.1.10] - 2026-01-26

### Fixed
- Treat git-reported directory entries as directories to avoid viewer errors
- Guard the viewer against opening directories directly
- Wrap delta diff output without breaking gutters and avoid truncation
- Add a safe fallback when `bat` fails to render with wrapping

## [0.1.9] - 2026-01-26

### Changed
- Bind render requests to avoid undefined context with the latest pi-tui

## [0.1.8] - 2026-01-26

### Changed
- Compute line counts asynchronously with loading indicators
- Build git repo trees from git file lists to avoid filesystem scans
- Add progressive filesystem scanning with safe mode for large folders
- Reduce refresh work to git metadata updates

## [0.1.7] - 2026-01-26

### Changed
- Cache line counts and skip large files to avoid freezes in big folders
- Avoid recomputing tree stats on every render
- Preserve line counts for open files across refreshes

## [0.1.6] - 2026-01-24

### Added
- Clearer install instructions and dependency notes in README

## [0.1.5] - 2026-01-24

### Added
- Demo recording embedded in README

### Changed
- Comment sending now queues with follow-up delivery in streaming sessions
- Split viewer logic into `viewer.ts` and shared helpers
- Reduced browser render duplication with node format helpers

## [0.1.4] - 2026-01-24

### Changed
- Split viewer logic into `viewer.ts` and shared helpers
- Reduced browser render duplication with node format helpers

## [0.1.3] - 2026-01-24

### Changed
- `c` in viewer now opens an inline comment prompt and sends a follow-up message

## [0.1.2] - 2026-01-24

### Changed
- `c` in viewer now appends selection to editor input instead of sending immediately

## [0.1.1] - 2026-01-24

### Added
- README with install steps, dependencies, and keybindings

### Changed
- Refactored into modular files (browser, git, tree, viewer, utils)

## [0.1.0] - 2026-01-24

### Added
- `/files` command opens full-screen file browser
- File tree with j/k navigation, Enter to open, h/l to collapse/expand
- File viewer with syntax highlighting via `bat`
- Markdown rendering via `glow`
- Git diff view via `delta` with line numbers
- Git status indicators (M, A, D, ?) on files
- Agent-modified file tracking (🤖 indicator)
- Changed files filter (`c` to toggle)
- Jump to next/prev changed file (`]`/`[`)
- Search in file tree (`/` then type)
- Search in file viewer (`/` then type, `n`/`N` for next/prev match)
- Select mode (`v`) to select lines and comment (`c`) to send to agent
- Line counts and diff stats (+/-) on files and collapsed folders
- Auto-refresh git status every 3 seconds (preserves expansion state)
- PageUp/PageDown support in browser and viewer
- Height adjustment (`+`/`-`)
- Works in non-git directories (git features gracefully disabled)

### Dependencies
- `bat` - syntax highlighting (recommended)
- `glow` - markdown rendering (recommended)
- `delta` - diff formatting (recommended)

Install with: `brew install bat git-delta glow`
