Commit Graph

2405 Commits

Author SHA1 Message Date
spencrmartin 7561bd2657 Merge origin/main into spence/text-input
Resolved conflicts in UserMessage.tsx by keeping action pills functionality
Removed conflicting test_acp_client.py file
2025-09-29 10:10:30 -04:00
spencrmartin c8249d62fe feat: improve built-in command styling with consistent disabled state and overlay pill
- Update built-in command badges to use grey styling matching ActionPopover
- Add blur effect to disabled edit/copy/delete buttons for built-in commands
- Position built-in pill as overlay on top of disabled action buttons
- Center align action buttons within their container space
- Add 8px left spacing to built-in pill overlay for better visual balance
2025-09-29 10:06:11 -04:00
Douwe Osinga 426001e57f Dead code cleanup (#4873)
Co-authored-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Michael Neale <michael.neale@gmail.com>
2025-09-29 19:23:30 +10:00
Michael Neale 4e1195954c fix: restoring test data and correcting name (#4875) 2025-09-29 15:29:02 +10:00
Rizel Scarlett 77ab395735 Add .goosehints file to enforce lowercase branding in documentation (#4870)
Co-authored-by: Angie Jones <jones.angie@gmail.com>
2025-09-28 23:53:56 -04:00
Rizel Scarlett cbefc3b8bd Fiie input recipe ref doc (#4869) 2025-09-28 23:46:59 -04:00
Jarrod Sibbison ed2bd6308b doc: file parameter recipe update (#4594) 2025-09-29 08:37:04 +10:00
Angie Jones 2032c7099c lowercase g in goose (#4832) 2025-09-26 23:44:38 -05:00
Alex Hancock bb1b73d634 docs: remove recipe generator link from next to extension search (#4858) 2025-09-26 23:41:51 -05:00
w. ian douglas 28113b13b6 new subrecipe blog post banner (#4862) 2025-09-26 16:01:52 -06:00
Michael Neale 1e4d874341 can tell the system what shell it is using (#4807) 2025-09-26 17:09:17 -04:00
Jack Amadeo 4af47fee09 fix: delete some flaky and not-useful tests (#4861) 2025-09-26 16:46:10 -04:00
taniandjerry 8662e0b745 docs: goose x Hacktoberfest 2025 Blog (#4855)
Co-authored-by: Tania Chakraborty <tchakraborty@block.xyz>
Co-authored-by: Angie Jones <jones.angie@gmail.com>
2025-09-26 16:11:59 -04:00
Ebony Louis 5999b786e7 Add Hacktoberfest Guides (#4830)
Co-authored-by: taniashiba <126204004+taniashiba@users.noreply.github.com>
2025-09-26 16:03:58 -04:00
Douwe Osinga dc292883b7 Session manager (#4648)
Co-authored-by: Douwe Osinga <douwe@squareup.com>
2025-09-26 14:56:45 -04:00
David Katz d0aa14a1ea Update databricks flash model (#4836) 2025-09-26 14:23:02 -04:00
David Katz 74517615c5 Fix: Token count UI doesn't re-render if it's open. (#4822) 2025-09-26 14:02:29 -04:00
Emma Youndtsmith 832cb0497c Docs: Add link to Plug & Play video for Reddit MCP (#4852) 2025-09-26 12:37:41 -05:00
Angela Ning 7fac1f36c2 remove only-pr-labels (#4842)
Signed-off-by: Angela Ning <aning@squareup.com>
2025-09-26 13:23:19 -04:00
spencrmartin 8dde6822af fix: use consistent hover styling for both mouse and keyboard selection
Changed keyboard selection to use the same subtle gray background as mouse hover
instead of the bright blue. This creates a unified visual experience where:

- Mouse hover: Light gray background
- Keyboard selection: Same light gray background
- Both states look identical and use the system's natural hover styling

Removed the complex text color overrides since we're now using the same
background for both hover and selection states. This creates a more
subtle and consistent user experience.
2025-09-26 12:02:52 -04:00
spencrmartin 9da26e5436 fix: make hover styling more visible in popovers
Changed hover background from subtle 'hover:bg-background-muted' to more
visible 'hover:bg-gray-100 dark:hover:bg-gray-700' so users can clearly
see which item they're hovering over with their mouse.

Now both mouse and keyboard interactions have clear visual feedback:
- Mouse hover: Light gray background (gray-100/gray-700)
- Keyboard selection: Bright blue background (blue-500)
- Both provide clear indication of what will be selected
2025-09-26 11:58:48 -04:00
spencrmartin 984d4c90ae fix: make keyboard selection visually distinct in popovers
Updated both ActionPopover and MentionPopover to use more visible selection styling:

- Changed selected background from bgProminent to bright blue-500
- Added proper text color overrides for selected state
- Icon colors change to white when selected
- Description text uses blue-100 for better contrast on blue background
- Custom badge gets blue-400 background when parent is selected

This makes it crystal clear which item is selected when navigating with arrow keys.
Users can now easily see what they're about to select with both mouse hover
and keyboard navigation.
2025-09-26 11:55:21 -04:00
Anthony Giuliano 3fd807ebac Update video link in README.md to lowercase goose (#4846) 2025-09-26 10:46:43 -05:00
spencrmartin bfe80a25e2 fix: keyboard navigation in RichChatInput for popover controls
Fixed the issue where arrow up/down keys weren't working when the ActionPopover
was open after typing '/'. The problem was in the synthetic event creation in
RichChatInput's handleTextareaKeyDown function.

Changes:
- Properly preserve all keyboard event properties (key, code, keyCode, etc.)
- Bind event methods correctly to maintain proper context
- Ensure target/currentTarget reference the display div for positioning
- Maintain all event properties needed by ChatInput's handleKeyDown

This fixes the keyboard navigation for both ActionPopover (/) and MentionPopover (@)
when using the new RichChatInput component with pills and spell checking.
2025-09-26 11:35:41 -04:00
spencrmartin e3cff4f02c feat: improve hover styles for ActionPopover and MentionPopover
- Apply consistent hover styling from settings to both popovers
- Use hover:bg-background-muted for better visual feedback
- Change border-radius from rounded-md to rounded-lg for consistency
- Update transition from transition-colors to transition-all for smoother animations
- Maintain selected state styling with bg-bgProminent

This creates a consistent hover experience across the application where users
can clearly see what they're about to select in both @ and / popovers.
2025-09-26 11:32:15 -04:00
spencrmartin 8156d1f4c9 feat: enhance custom slash commands with search, pills, and dynamic loading
- Add search functionality to ActionPopover when typing / + text
- Show starred commands first, then all commands during search
- Add 'Create Command' button in empty states with modal integration
- Implement visual action pills in both input and user messages
- Hide expanded 'what AI sees' text from UI while sending full prompts to AI
- Add dynamic action mapping from localStorage for custom commands
- Implement action pill expansion in useMessageStream before API calls
- Add proper keyboard navigation and modal state management
- Include usage tracking for custom commands

Files modified:
- ChatInput.tsx: Query passing, modal integration, keyboard navigation
- ActionPopover.tsx: Search functionality and empty state enhancements
- RichChatInput.tsx: Dynamic action mapping from localStorage
- MessageContent.tsx: Dynamic action mapping from localStorage
- useMessageStream.ts: Action pill expansion before API calls
2025-09-26 11:23:03 -04:00
Alex Hancock 5ba4143f5f chore: fix all warnings in test compilation (#4827) 2025-09-26 11:19:30 -04:00
Jack Amadeo 945c783517 fix: linux builds: use gcc 10 in Linux builds (#4841) 2025-09-26 11:12:05 -04:00
Jack Amadeo 4e786db03e fix: keep one goosed client per BrowswerWindow (#4805) 2025-09-26 10:54:53 -04:00
Angela Ning d0b875e630 add automation for marking and closing stale PRs (#4826) 2025-09-26 10:53:43 -04:00
spencrmartin cba7d3fefe feat: implement custom slash commands with modal-based creation
- Add CustomCommandsSettings component with row-based design matching Mode section
- Integrate AddCustomCommandModal using proper Dialog components for consistent styling
- Remove category filtering and inline editing for cleaner UX
- Update modal to use proper Dialog background instead of dark overlay
- Remove category field from modal form for simplified command creation
- Apply subtle text colors to form helper text for better visual hierarchy
- Remove preview section from modal to reduce height and improve usability
- Add proper header styling with CardTitle and CardDescription
- Update command icons to display without background circles
- Implement proper padding and spacing throughout the interface
- Connect modal functionality to Plus button and edit actions
- Preserve existing command categories while preventing new category assignment
2025-09-26 10:45:45 -04:00
spencrmartin f32e522f42 Fine-tune custom commands settings styling
- Remove header and description from Custom Commands card
- Convert card-style layout to row-based design matching mode section
- Update styling to use proper text-* and background-* classes
- Remove unused onClose parameter
- Make commands display as compact rows with inline actions
- Improve empty state styling and sizing
2025-09-26 10:31:11 -04:00
spencrmartin 53a8621868 chore: remove test file for custom commands 2025-09-26 10:26:14 -04:00
spencrmartin be429465fe feat: implement custom slash commands with pill expansion
- Add comprehensive custom slash commands system
- Users can create /command shortcuts that expand to full prompts
- ActionPopover now only shows user-created custom commands
- Add custom commands management in Settings → Chat
- Implement pill rendering: users see [Command Label], AI gets full prompt
- Add localStorage-based storage with upgrade path to API
- Include example commands: document, review, explain, optimize, test
- Add complete type system with validation and categories
- Support usage tracking, favorites, and command management
- Fix pill expansion to use proper labels instead of IDs

Components added:
- CustomCommandsSettings: Full CRUD interface for command management
- AddCustomCommandModal: Modal for creating/editing commands
- useCustomCommands: Hook for command state management
- customCommands types: Complete type system with validation

Components modified:
- ActionPopover: Filtered to show only custom commands
- ChatInput: Fixed handleActionSelect for proper pill rendering
- ChatSettingsSection: Added custom commands card
- Added UI components: label, textarea for form inputs
2025-09-26 10:25:50 -04:00
Jack Amadeo 757ceb6109 chore: turn clippy on for test code (#4817) 2025-09-26 00:06:07 -04:00
Jack Amadeo f5877a9996 fix: pricing integration test (#4837) 2025-09-25 21:37:12 -04:00
w. ian douglas 4acd7c2c6b blog post on subagents vs subrecipes (#4829) 2025-09-25 15:52:07 -06:00
Zane f0ab2c50be fix chat button alignment and spacing for attachments (#4794) 2025-09-25 13:51:13 -07:00
spencrmartin 141ca0b9e6 Fix chat input height synchronization with complete reset
- Force complete height reset to 0px before measuring scrollHeight
- Add reflow trigger to ensure accurate measurements
- Prevents input from staying large when content is removed
2025-09-25 16:38:18 -04:00
spencrmartin 7b18d77864 Fix spell check tooltip positioning to appear right above misspelled words
- Update SpellCheckTooltip styling to match commit 663c921 design
- Add numbered suggestions with hover highlighting and blue selection states
- Include keyboard hints and improved action buttons with icons
- Fix tooltip positioning to appear directly above words with minimal gap
- Remove translateY(-100%) transform that was pushing tooltip too far away
- Position tooltip 5px above word with only horizontal centering
- Maintain viewport boundary detection to prevent cutoff on edges
- Improve overall tooltip UX with professional styling and close proximity
2025-09-25 16:27:28 -04:00
spencrmartin 35a59a7685 Restore custom spell checking implementation with hover tooltips and highlighting
- Add back SpellCheckTooltip component with custom styling and suggestions
- Restore custom spell checking logic in RichChatInput component
- Add back IPC spell-check and spell-suggestions handlers in main process
- Re-enable custom misspelled word highlighting with red background
- Restore hover/click popover tooltips with spell suggestions
- Disable native browser spell checking (spellCheck={false}) to use custom implementation
- Add back all spell checking state management and event handlers

This provides the custom spell checking UI with highlighting and popovers as requested.
2025-09-25 16:15:28 -04:00
spencrmartin 3959f2e1ab Remove custom spell checking implementation in favor of native OS spell checking
- Remove custom spell checking logic from RichChatInput component
- Remove SpellCheckTooltip and SpellCheckContextMenu components
- Remove IPC spell-check and spell-suggestions handlers from main process
- Enable native browser spell checking with spellCheck={true} on textarea
- Simplify component by removing misspelled word highlighting and tooltip state
- Users now get familiar OS-native spell check with right-click context menus

This provides better UX with system dictionary integration and familiar behavior.
2025-09-25 16:04:49 -04:00
spencrmartin 945c84874c Fix cursor positioning to center with text baseline
- Changed cursor transform from translateY(-0.1em) to translateY(0.1em)
- Cursor now appears properly centered with text instead of floating above
- Applied fix to all cursor instances throughout RichChatInput component
2025-09-25 15:59:39 -04:00
Alex Hancock b7604e0b13 fix: remove nested double quotes in windows automation_script tool description (#4824) 2025-09-25 14:51:20 -04:00
Jack Amadeo 917e1794ab fix: a few things with the mcp snapshot test (#4818) 2025-09-25 14:36:21 -04:00
Alex Hancock 2f11d8d4ac Revert "fix(compaction): try to catch more context limit exceeded erors and compact" (#4820) 2025-09-25 14:12:43 -04:00
spencrmartin 16ea0c8c2d Fix cursor vertical alignment to better match text baseline 2025-09-25 13:40:32 -04:00
spencrmartin 663c921b47 Adjust cursor vertical alignment in empty state
- Changed cursor top position from 0px to 0.125em
- Aligns cursor with text baseline instead of sitting below it
- Improves visual consistency with placeholder text
2025-09-25 13:39:38 -04:00
spencrmartin 0f303b8625 Fix placeholder text movement on empty state click
- Position placeholder text absolutely to prevent displacement
- Position cursor absolutely at start of empty input
- Maintains visual stability when focusing empty input
2025-09-25 13:38:15 -04:00
spencrmartin b03ad32b97 Fix cursor width and positioning to prevent text displacement
- Set cursor width to 1px for minimal visual footprint
- Removed left margin to prevent text from being pushed left/right
- Applied consistent styling across all cursor instances
- Cursor now appears as thin line without displacing text
2025-09-25 13:36:13 -04:00