Summary
Hunk v0.17.6 remains blank indefinitely when rendering a large diff with line wrapping enabled. The same diff renders and remains navigable on v0.13.2, although memory usage is high. Disabling wrapping on v0.17.6 restores sub-second rendering.
This appears distinct from the general macOS startup regression reported in #534: that original small-fixture reproduction no longer regresses on v0.17.6.
Environment
- macOS 26.5.2, arm64
- Kitty 0.45.0
- Fish 4.8.0
- Native arm64 Hunk binaries built from the corresponding tagged Nix flakes
- Hunk config:
agent_notes = true
line_numbers = true
theme = "ember"
watch = false
wrap_lines = true
Reproduction
From an already-running Fish shell in Kitty, in a branch with 141 changed files, 20,852 insertions, and 1,475 deletions:
Git produces the underlying diff in approximately 0.02 seconds.
Results
| Version / configuration |
Result |
| v0.17.6, wrapping enabled |
Blank after several minutes; sampled at 2m42s with approximately 1 GB physical footprint and the main thread idle in the event loop |
v0.17.6, --no-wrap |
Complete diff rendered in 0.63s; navigation responsive; approximately 345 MB RSS during the observed run |
| v0.17.6, wrapping enabled, scoped to one 648-line file |
Rendered in 0.65s |
| v0.13.2, wrapping enabled |
Complete diff rendered in 2.83–2.85s; navigation responsive; approximately 2.28 GB RSS |
The comparisons used the same machine, Kitty instance, repository, terminal dimensions, diff, and configuration. Each run used a private HUNK_MCP_PORT. The literal wrapper path hd main only forwards to hunk diff main and reproduced the same results.
Expected behavior
Wrapped reviews should either:
- render with bounded memory and responsive navigation, or
- degrade gracefully with progressive or single-file rendering, or a clear size warning, instead of leaving a blank TUI indefinitely.
Relevant existing work
This may be a regression or an uncovered scalability boundary in that wrapped full-render path.
Summary
Hunk v0.17.6 remains blank indefinitely when rendering a large diff with line wrapping enabled. The same diff renders and remains navigable on v0.13.2, although memory usage is high. Disabling wrapping on v0.17.6 restores sub-second rendering.
This appears distinct from the general macOS startup regression reported in #534: that original small-fixture reproduction no longer regresses on v0.17.6.
Environment
Reproduction
From an already-running Fish shell in Kitty, in a branch with 141 changed files, 20,852 insertions, and 1,475 deletions:
hunk diff mainGit produces the underlying diff in approximately 0.02 seconds.
Results
--no-wrapThe comparisons used the same machine, Kitty instance, repository, terminal dimensions, diff, and configuration. Each run used a private
HUNK_MCP_PORT. The literal wrapper pathhd mainonly forwards tohunk diff mainand reproduced the same results.Expected behavior
Wrapped reviews should either:
Relevant existing work
(wrap = true)#560 confirmswrap_lines = trueis a supported preference.This may be a regression or an uncovered scalability boundary in that wrapped full-render path.