Skip to content

Conversation

@spencrmartin
Copy link
Collaborator

Screen.Recording.2025-07-17.at.10.18.05.AM.mov
  • Add granular loading states: isWaiting, isStreaming, isLoading
  • Waiting state: Cycling thinking icons (CodeXml, Cog, Fuel, etc.) at 600ms
  • Streaming state: Flying bird animation (6 frames) at 150ms
  • Enhanced LoadingGoose component with state-specific animations
  • Added 7 thinking icons and 6 bird flight frame icons
  • Updated useMessageStream and useChatEngine hooks for state management
  • Maintains backward compatibility with existing custom messages

Shows 'goose is thinking...' with cycling icons during LLM wait Shows 'goose is working on it...' with flying bird during streaming

@DOsinga
Copy link
Collaborator

DOsinga commented Jul 17, 2025

how does relate to @jamadeo 's streaming work? should we still have a goose is working on it state?

@spencrmartin
Copy link
Collaborator Author

@DOsinga I believe as an addition that while it's waiting for the response to start streaming it uses the waiting state, when the response starts streaming in it transitions to the working logo. Instead of the current being a single loading state.

Screen.Recording.2025-07-17.at.10.45.22.AM.mov

@spencrmartin spencrmartin marked this pull request as ready for review July 17, 2025 15:06
@spencrmartin spencrmartin force-pushed the spence/Thinking&writing-loader branch from 9c176a2 to 51fda1b Compare July 18, 2025 12:39
@spencrmartin
Copy link
Collaborator Author

Pulled main to keep up to date

Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Only comment is the icons feel a bit small and the transition is maybe too fast for my eyes but I'll let you make the call on that.

…mation

- Add granular loading states: isWaiting, isStreaming, isLoading
- Waiting state: Cycling thinking icons (CodeXml, Cog, Fuel, etc.) at 600ms
- Streaming state: Flying bird animation (6 frames) at 150ms
- Enhanced LoadingGoose component with state-specific animations
- Added 7 thinking icons and 6 bird flight frame icons
- Updated useMessageStream and useChatEngine hooks for state management
- Maintains backward compatibility with existing custom messages

Shows 'goose is thinking...' with cycling icons during LLM wait
Shows 'goose is working on it...' with flying bird during streaming
@spencrmartin spencrmartin force-pushed the spence/Thinking&writing-loader branch from 51fda1b to 4c4f123 Compare July 22, 2025 14:56
- Change oneOf to anyOf for ResourceContents union type
- Remove nullable from mime_type field (now optional string)
- Reorder required fields alphabetically
- Regenerate TypeScript types to match schema
@spencrmartin
Copy link
Collaborator Author

Up to main and pushed fix schema to pass tests @zanesq

@zanesq zanesq merged commit 914c537 into main Jul 22, 2025
8 checks passed
@zanesq zanesq deleted the spence/Thinking&writing-loader branch July 22, 2025 16:47
katzdave added a commit that referenced this pull request Jul 22, 2025
* 'main' of github.com:block/goose: (23 commits)
  fix: add fallback id to messages if none provided (#3584)
  feat: migrate ErrorData from internal mcp crates to rmcp version (#3586)
  fix: adjust subrecipe description to allow running tests (#3585)
  Scenario tests (#3430)
  feat: migrate JsonRpcMessage/Request/Response/Error/Notification from internal mcp crates to rmcp versions (#3564)
  Restore recipe parameters functionality (#3530)
  feat: Enhanced loading states with thinking icons and flying bird animation (#3478)
  Agent loop defensive (#3554)
  chore: remove needless clone() in goose/providers (#2528)
  Add recipe install warning (#3537)
  Replace mcp_core::resource::* with rmcp types (#3563)
  Add YouTube video embed to using-goosehints.md (#3560)
  fix: ensure retry-config and success-criteria are populated in openapi spec (#3575)
  fix: use sequential when sub recipe task is 1. (#3573)
  fix: track message id to keep like with like (#3572)
  Replace mcp_core::prompt with rmcp::model types (#3561)
  feat (ui): close recipe modals with esc key (#3568)
  feat: recipes can retry with success criteria (#3474)
  Env var to set Ollama request timeout (#3516)
  Updating docs to match new UI (#3552)
  ...
michaelneale added a commit that referenced this pull request Jul 23, 2025
* main:
  docs: desktop recipe format (#3594)
  Fix model display name not being updated immediately after leaving settings (#3587)
  Added option to summarize the chat when an error is triggered (#3598)
  Remove mcp_macros and unused types (#3581)
  fix: add fallback id to messages if none provided (#3584)
  feat: migrate ErrorData from internal mcp crates to rmcp version (#3586)
  fix: adjust subrecipe description to allow running tests (#3585)
  Scenario tests (#3430)
  feat: migrate JsonRpcMessage/Request/Response/Error/Notification from internal mcp crates to rmcp versions (#3564)
  Restore recipe parameters functionality (#3530)
  feat: Enhanced loading states with thinking icons and flying bird animation (#3478)
  Agent loop defensive (#3554)
  chore: remove needless clone() in goose/providers (#2528)
  Add recipe install warning (#3537)
  Replace mcp_core::resource::* with rmcp types (#3563)
  Add YouTube video embed to using-goosehints.md (#3560)
  fix: ensure retry-config and success-criteria are populated in openapi spec (#3575)
atarantino pushed a commit to atarantino/goose that referenced this pull request Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants