Commit Graph

4197 Commits

Author SHA1 Message Date
Taylor Ho b7dcb1a515 refactor: replace CSS group-hover with Radix HoverCard for message actions
Swap the fragile CSS group-hover opacity pattern for Radix HoverCard
which handles hover intent, open/close delays, and portal rendering.
Actions appear below the bubble on hover via stripped HoverCardContent
(no border, shadow, padding, or background). Removes group class.
2026-04-16 13:05:00 -10:00
Taylor Ho 4ece14d64b style: user bubble with bg-muted on content div, max-w-640px, no avatar
User messages render as rounded bg-muted bubbles on the content div
only — action buttons and timestamp sit outside. Max width capped at
640px. Avatar removed. Outer group/gap-3 hover structure preserved.
2026-04-16 13:05:00 -10:00
Taylor Ho 0bdae1ea54 fix: stale closure, focus churn, dead draft write, dead i18n keys
1. handleSaveEdit now forces chatState to idle via store and defers
   sendMessage via pendingEditSend ref + useEffect, avoiding the stale
   closure where sendMessage would bail on old chatState.
2. Split focus into a separate useEffect keyed only on isEditing so it
   doesn't fire on every keystroke and reset cursor position.
3. Removed dead setDraft call in editMessage — inline edit reads text
   directly from the message, not the draft store.
4. Removed unused edit.label and edit.cancel i18n keys.
2026-04-16 13:04:59 -10:00
Taylor Ho 7486ec56c5 feat: full-width inline edit with hinted background and info message
When editing, the container breaks out of the 80% user bubble constraint
to span the full timeline width with a subtle bg-muted/40 background.
Hides the user avatar during edit. Adds hint text indicating editing
will start a new conversation.
2026-04-16 13:04:59 -10:00
Taylor Ho 5eef9496a0 feat: inline edit UX — edit message in-place with Save/Cancel
Pivot from bottom-ChatInput editing to inline editing. When clicking
edit, the message bubble transforms into a textarea with Save and
Cancel buttons. Enter saves, Escape cancels.

- MessageBubble: add isEditing mode with inline textarea, auto-resize,
  focus, and keyboard shortcuts (Enter=save, Escape=cancel)
- MessageTimeline: pass editingMessageId, onSaveEdit, onCancelEdit
- ChatView: add handleSaveEdit (truncate + send), wire to timeline
- ChatInput: remove edit indicator bar, editingMessageId prop, and
  edit-mode focus effect
2026-04-16 13:04:59 -10:00
Taylor Ho 47d1154d4e fix: focus textarea when entering edit mode
The focus effect only ran on mount. Now keyed on editingMessageId so the
textarea receives focus whenever the user clicks edit.
2026-04-16 13:04:59 -10:00
Taylor Ho 71a9323773 fix: sync ChatInput text state when initialValue prop changes
ChatInput initialized local text via useState(initialValue) which only
reads the prop on mount. Subsequent changes (e.g. cancel edit then
re-edit) were ignored. Added useEffect to re-sync setTextRaw when
initialValue changes. Uses setTextRaw (not setText) to avoid redundant
onDraftChange callback since the store already holds the correct value.
2026-04-16 13:04:58 -10:00
Taylor Ho e5dc7095fd feat: wire retry and edit buttons on user messages
- Add retryMessage(messageId) to useChat — truncates from the target
  message onward and resends the preceding user message. Works for
  both user and assistant messages.
- Add editMessage(messageId) to useChat — truncates from the target
  user message onward and populates the chat input draft with the
  original text for revision.
- Wire onRetryMessage and onEditMessage from ChatView through
  MessageTimeline to MessageBubble.
- Remove role gate so retry icon shows on both user and assistant
  messages (edit remains user-only).
2026-04-16 13:04:58 -10:00
morgmart bd14186214 polish: refine sidebar activity indicators, add placeholder token, and tidy search field (#8606)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
2026-04-16 19:28:32 +00:00
Adam Miller fdd8ada032 feat: add /edit command to cli for on-demand prompt editing (#8566)
Signed-off-by: Adam Miller <admiller@redhat.com>
2026-04-16 18:51:40 +00:00
Dan425953 0766d34237 docs(mcp): add Rendex MCP Server extension tutorial (#8541)
Signed-off-by: DanE <daniel@nexgroup.info>
2026-04-16 18:11:46 +00:00
Lifei Zhou e7a91c7d4f Lifei/delete tauri backend acp (#8582)
Co-authored-by: Jack Amadeo <jackamadeo@squareup.com>
2026-04-16 16:46:37 +00:00
Jack Amadeo 67b90205ed chore: set goose binaries as executable in package.json (#8589) 2026-04-16 15:36:53 +00:00
Alex fd93865951 feat: add Novita AI as declarative provider (#8432)
Signed-off-by: Alex-wuhu <yanglongwei06@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 12:54:31 +00:00
이대희 93e6f8d521 feat: add Kimi Code provider with OAuth device flow authentication (#8466)
Signed-off-by: DaeHee Lee <lee111dae11@proton.me>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 10:13:50 +00:00
g.sunilkumar 05d99f89a3 fix: chat loading-state model placeholder (#8431)
Signed-off-by: sunilkumarvalmiki <g.sunilkumarvalmiki@gmail.com>
Co-authored-by: jh-block <jhugo@block.xyz>
2026-04-16 08:42:13 +00:00
Jiri Luzny fd61058a74 fix: expand tool calls by default when Response Style is Detailed (#8478)
Signed-off-by: Jiri Luzny <jiri.luzny@gmail.com>
Co-authored-by: ximi <liyuan851277048@icloud.com>
2026-04-16 07:53:06 +00:00
Juan Palomino aa8ea99584 fix: create logs dir before writing llm request log (#8522)
Signed-off-by: Juan Palomino <jpalomino09@gmail.com>
2026-04-16 07:50:34 +00:00
Kasper Jensen a6e5d70df0 fix: enable token usage tracking and configurable stream timeout for Ollama provider (#8493) 2026-04-16 07:49:39 +00:00
morgmart d17688330d fix tauri-plugin-dialog version constraint to match other plugins (#8542)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
2026-04-16 07:41:58 +00:00
Lifei Zhou 50ac3dc0b2 call goose serve from tauri frontend via goose-acp client (#8549)
Co-authored-by: Jack Amadeo <jackamadeo@squareup.com>
2026-04-16 07:34:19 +00:00
Lifei Zhou 625f2d75fe failed the script when bundle:default fails and cleanup "alpha" (#8580) 2026-04-16 05:51:23 +00:00
Lifei Zhou a5a497b341 pass globally unique conversation identifier as sessionId in databricks api call (#8576) 2026-04-16 04:32:19 +00:00
Matt Toohey c29e3203b4 fix: use sqlx chrono decode for thread timestamps instead of manual parsing (#8575)
Signed-off-by: Matt Toohey <contact@matttoohey.com>
2026-04-16 03:06:52 +00:00
Michael Neale d3881897a1 docs: remove stale gemini-acp references (#8572)
Signed-off-by: Michael Neale <michael.neale@gmail.com>
2026-04-16 02:34:41 +00:00
morgmart 19ce336a36 show individual untracked files in git changes widget (#8574)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
2026-04-16 00:57:58 +00:00
Alex Hancock d627a6556f fix: update publishing flow to include new sdk dir (#8573) 2026-04-16 00:52:56 +00:00
Matt Toohey dc052f4447 fix: remove double border on content in chat (#8545)
Signed-off-by: Matt Toohey <contact@matttoohey.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 00:27:26 +00:00
Matt Toohey bae26d6302 chore(goose2): just goose2 <command> with the addition of just goose2 kill (#8570)
Signed-off-by: Matt Toohey <contact@matttoohey.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 00:08:58 +00:00
Lifei Zhou 23755aa458 Lifei/oltp data (#8458) 2026-04-15 23:47:09 +00:00
tulsi 8b2c6e0129 Sidebar polish: search copy, dividers, project reorder, fix DnD (#8568)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 23:26:03 +00:00
Jack Amadeo 0ec73c80f3 remove the workflow_dispatch check (#8563) 2026-04-15 16:14:17 -04:00
Alex Hancock fb81f0de02 fix: one more rename (#8562) 2026-04-15 15:38:04 -04:00
Gandalf_Le_Dev 890ad15934 fix(desktop): accept self-signed certs from configured external goosed host (#8400)
Signed-off-by: jh-block <jhugo@block.xyz>
Co-authored-by: Mathis Rocher <mathis.rocher@corp.ovh.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: jh-block <jhugo@block.xyz>
2026-04-15 19:10:37 +00:00
Alex Hancock cff0992aef alexhancock/npm-bumps (#8557) 2026-04-15 15:09:12 -04:00
Jack Amadeo e099754b77 Remove npm publish from release for now (#8558) 2026-04-15 18:13:29 +00:00
Alex Hancock ea236ab664 feat(tui): add extension management screen (#8536) 2026-04-15 13:39:01 -04:00
morgmart c9507ba672 add extensions settings page and context panel widget (#8540)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
2026-04-15 16:55:46 +00:00
Alex Hancock a7396a7bd0 chore: move acp to sdk (#8556) 2026-04-15 13:00:12 -04:00
jh-block 78b5b5209a feat: support Client ID Metadata Document (CIMD) for OAuth (#8550) 2026-04-15 15:53:25 +00:00
Alex Hancock f850b44d4d refactor: @aaif/goose-acp -> @aaif/goose-sdk (#8555) 2026-04-15 12:00:02 -04:00
Alex Hancock 7a803feb7f fix: cargo update -p rustls-webpki (#8554) 2026-04-15 11:18:58 -04:00
jh-block 2d3e2dfe23 Show context window usage inline in the status bar (#7607)
Signed-off-by: jh-block <jhugo@block.xyz>
2026-04-15 10:13:06 +00:00
George fb4b38471b fix(ui): sync sidebar sessions after chat history deletion (#7707)
Signed-off-by: George <george@zuos.us>
Co-authored-by: George <george@zuos.us>
2026-04-15 09:59:22 +00:00
Vincenzo Palazzo b7f1316ab8 fix: prevent session hang when tool approval required in headless mode (#7915)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 09:58:27 +00:00
morgmart 529d6f7195 move agent skills to repo root for tool discoverability (#8535)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
2026-04-14 23:03:56 +00:00
tulsi 210ef52d81 port goose2 chat attachments into goose (#8534)
Signed-off-by: tulsi <tulsi@block.xyz>
2026-04-14 21:26:43 +00:00
github-actions[bot] 8e04d7c8be chore(release): bump version to 1.31.0 (minor) (#8527)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-14 14:48:16 +00:00
Alex Hancock 3fe750c01d feature: provider & model config (#8515) 2026-04-14 10:55:21 -04:00
Jack Amadeo 482f1962c1 Move goose2 (#8516)
Signed-off-by: Jack Amadeo <jackamadeo@squareup.com>
Co-authored-by: block-open-source[bot] <201011344+block-open-source[bot]@users.noreply.github.com>
Co-authored-by: block-open-source[bot] <1159699+block-open-source[bot]@users.noreply.github.com>
Co-authored-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Toohey <contact@matttoohey.com>
Co-authored-by: tulsi <tulsi@block.xyz>
Co-authored-by: morgmart <98432065+morgmart@users.noreply.github.com>
Co-authored-by: Bradley Axen <baxen@squareup.com>
Co-authored-by: Alex Hancock <alexhancock@block.xyz>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Nahiyan Khan <nahiyan.khan@gmail.com>
Co-authored-by: Lifei Zhou <lifei@squareup.com>
2026-04-14 14:39:30 +00:00