Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
34510c5
fix(imageinput): improve PDF fallback handling
jatmn Aug 19, 2026
2897963
fix(imageinput): bound PDF extraction buffers
jatmn Aug 19, 2026
44b60c3
fix(imageinput): preserve PDF text overflow state
jatmn Aug 19, 2026
28ca3be
fix(imageinput): retain bounded PDF extractor output
jatmn Aug 19, 2026
13c7dfc
fix(imageinput): require bounded Poppler PDF extraction
jatmn Aug 20, 2026
c8755b3
test(imageinput): cover bounded Poppler edge cases
jatmn Aug 20, 2026
11f1c60
docs(tui): document Poppler PDF requirement
jatmn Aug 20, 2026
54dda49
test(tui): skip Poppler-dependent PDF flow
jatmn Aug 20, 2026
514e505
fix(imageinput): retain bounded PDF fallback
jatmn Aug 20, 2026
f960288
fix(imageinput): require bounded PDF extraction
jatmn Aug 21, 2026
dfced10
fix(imageinput): retain bounded PDF fallback
jatmn Aug 21, 2026
36bdf9e
Revert "fix(imageinput): retain bounded PDF fallback"
jatmn Aug 21, 2026
08e0865
fix(imageinput): clarify Poppler PDF failures
jatmn Aug 21, 2026
df5301f
fix(imageinput): distinguish textless PDFs
jatmn Aug 21, 2026
8d11259
fix(imageinput): bound PDF attachment latency
jatmn Aug 21, 2026
9fcee8d
fix(imageinput): retain PDF page counts
jatmn Aug 21, 2026
2826ac7
fix(imageinput): bound PDF renderer diagnostics
jatmn Aug 21, 2026
7bdb557
docs(imageinput): clarify vision PDF fallback
jatmn Aug 21, 2026
cb8b144
fix(imageinput): reject marker-only PDF text
jatmn Aug 21, 2026
a489fb7
fix(imageinput): keep page counts non-blocking
jatmn Aug 21, 2026
83d7f3e
fix(imageinput): bound Poppler PDF output
jatmn Aug 21, 2026
ffb0885
fix(imageinput): avoid optional PDF raster delays
jatmn Aug 21, 2026
b12be6c
fix(imageinput): preserve vision PDF rendering
jatmn Aug 21, 2026
7712b56
docs(tui): clarify PDF attachment prerequisite
jatmn Aug 21, 2026
c771316
fix(imageinput): cap PDF raster pages
jatmn Aug 21, 2026
9248d81
fix(imageinput): stop Poppler after text cap
jatmn Aug 21, 2026
9709f4c
test(imageinput): cover Poppler boundaries
jatmn Aug 21, 2026
899675f
test(tui): skip unsupported Poppler fixture
jatmn Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ Common slash commands:
|---|---|
| `/model`, `/provider` | switch the active model/provider |
| `/spec`, `/plan` | draft and review a plan before building |
| `/image` | attach an image for vision-capable models |
| `/image` | attach an image for vision-capable models, or PDF text with Poppler's `pdftotext` installed |
| `/resume`, `/rewind` | continue or roll back local sessions |
| `/new` | start a fresh session in place (previous session stays on disk) |
| `/btw [question]` | ask in an isolated fork without adding the side conversation to the main session |
Expand All @@ -221,6 +221,12 @@ Common slash commands:
| `/add-dir` | allow an extra write directory for this session |
| `/theme`, `/doctor`, `/config` | adjust appearance and inspect setup |

PDF text attachments use Poppler's `pdftotext` executable. Install Poppler with
your platform's package manager and ensure `pdftotext` is on `PATH`; optional
PDF page images for vision models also require Poppler's `pdftoppm`. A vision
model can still receive those rendered page images when a PDF has no usable text
layer or `pdftotext` cannot extract one.

### Headless `exec`

```bash
Expand Down
1 change: 0 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ require (
github.com/charmbracelet/x/ansi v0.11.7
github.com/charmbracelet/x/term v0.2.2
github.com/coder/websocket v1.8.15
github.com/ledongthuc/pdf v0.0.0-20250511090121-5959a4027728
golang.org/x/image v0.45.0
golang.org/x/sys v0.47.0
mvdan.cc/sh/v3 v3.13.1
Expand Down
4 changes: 0 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/ledongthuc/pdf v0.0.0-20250511090121-5959a4027728 h1:QwWKgMY28TAXaDl+ExRDqGQltzXqN/xypdKP86niVn8=
github.com/ledongthuc/pdf v0.0.0-20250511090121-5959a4027728/go.mod h1:1fEHWurg7pvf5SG6XNE5Q8UZmOwex51Mkx3SLhrW5B4=
github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4=
github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-runewidth v0.0.24 h1:cpokDiIn0MGnhdHwuWnJBITySJ20QyNGnY2kR/ay2DU=
Expand All @@ -64,8 +62,6 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavM
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
golang.org/x/exp v0.0.0-20260611194520-c48552f49976 h1:X8Hz2ImujgbmetVuW+w2YkyZChE3cBpZi2P158rTG9M=
golang.org/x/exp v0.0.0-20260611194520-c48552f49976/go.mod h1:vnf4pv9iKZXY58sQE1L86zmNWJ4159e1RkcWiLCkeEY=
golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I=
golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY=
golang.org/x/image v0.45.0 h1:FMb1nTbH5H9vF55SriQHgFw5GnNL9Jg6L25BwXKzhB0=
golang.org/x/image v0.45.0/go.mod h1:n62x/7RqlwXDvGsSU4u6IUTUf6KghUZ9Bt7cG/T9Fx4=
golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
Expand Down
Loading
Loading