feat: multiline agent input and fix user message wrapping#203
Merged
Conversation
FilterBar's textinput never had its Width set, causing the placeholder and hint text to be truncated to ~1 character. Propagate terminal width via SetWidth() for all FilterBar-using tabs (search, links, bookmarks, tasks). Task toggle used raw line text for content hash matching while extraction used AST-derived text — any inline markdown (wiki-links, bold, etc.) caused permanent hash mismatch. Now uses ParseMarkdown's extracted tasks for lookup, ensuring identical hashing in both paths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace single-line textinput with textarea for multiline message composition. Enter sends, shift+enter inserts newline. Height auto-grows from 1 to 10 lines based on content. Fix user message truncation: MaxWidth() truncates in lipgloss v2, Width() wraps. User messages now wrap at maxTextWidth instead of being cut off. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Convert FilterBar from textinput.Model to textarea.Model so all input fields support multiline editing (shift+enter for newlines, enter to submit). Configure MaxHeight=10 with auto-resize. Fix user message truncation in chat scrollback: renderUserMessage and renderParts used a fixed maxTextWidth=120 regardless of terminal size. Now all render functions accept the terminal width and cap accordingly, preventing the terminal's own line wrapping from breaking lipgloss padding. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add input/list focus modes to all browse tabs (search, bookmarks, links, tasks) - `/` focuses filter bar, up arrow from top returns to filter bar - Dim cursor indicator when filter bar is focused - Add label-based search via apiclient.SearchDocuments labels param - Fix duplicate ContentHash disambiguation with proximity bias - Guard SetWidth against negative values on tiny terminals Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… cleanup - Detect flipCheckbox silent no-op (line not a checkbox → error instead of silent re-save) - Extract findToggleLine as testable pure function with 7 table-driven tests covering exact match, drift, duplicates, no-match, equidistant tie-breaking - Extract textWidth helper in render.go (dedup width calculation) - Extract pick.CursorPrefix helper (dedup cursor prefix logic across 5 sites) - Restore "Searching..." indicator in browse search tab Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace single-line
textinputwithtextareafor multiline message composition, and fix user message truncation in conversation view.New Features
Entersends,Shift+Enterinserts newline. Height auto-grows from 1→10 lines.maxTextWidthinstead of being truncated (lipglossWidth()vsMaxWidth())Breaking Changes