-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Create / edit recipe form unification and improvements #4693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ui/desktop/src/hooks/useAgent.ts
Outdated
| setSessionId(null); | ||
| setAgentState(AgentState.UNINITIALIZED); | ||
| setRecipeFromAppConfig(null); | ||
| initPromiseRef.current = null; // Clear any pending initialization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
initPromiseRef serves as a singleton pattern for agent initialization, basically it prevents race conditions by cacheing the initialization promise so subsequent calls to loadCurrentChat will return the same promise instead of starting a new initialization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this comment is true. if we need to reset this though I think we might have to await it first though since if that promise is still the case it means we still have a request in flight. I don't think that that should happen in reality, but maybe need to be sure. also remove the comment
|
this looks much much nicer already - any particular testing notes? |
|
I have a branch off this with tests, will push up shortly but for manual testing basically everything related to create/edit and running recipes from a chat session and recipe manager. I've verified deep links continue to work as before. |
…-unification * 'main' of github.com:block/goose: temp file for batch issue creation fix: view can recognise a dir (#4701) goosed standalone works with providers (#4698) Compact session automatically for streaming providers on Context Length Exceeded (#4565) When the developer extension gets a cancellation message, it should kill any running processes that it owns. (#4604) Remove some unused stuff (#4388) Add I Ching MCP to extension catalog (#4525) Offer to summarize or clear conversation when it has gotten too long … (#4688) refactor(forge): employ desktopTemplate to support absolute paths (#4084) fix(nix): add nixpkgs missing for existing build process & useful in dev process (#4490)
|
@zanesq not sure why, but with this I can't run recipes the same as on main. I made a simple recipe (in the GUI here) to say a joke in french and spanish. on this branch:
which isn't right (it doesn't read the prompts at all it seems). on main (with has a Use button):
|
|
Hmm might be an issue with launching the recipe in the same window. Thanks for testing, will take a look and report back. |
|
@michaelneale was indeed a bug, just pushed a fix and verified locally
|
…-unification * 'main' of github.com:block/goose: Add elapsed time to the CLI output. (#4609) fix: Fix cell coordinate ordering in XlsxTool and add unit tests (#4551) Use gemini flash for summarization on open router (#4290) chore(deps): bump xcb from 1.5.0 to 1.6.0 (#4289) feat(shell): throw errors on interactive commands (#4788) feat: AgentManager - foundation for unified execution (#4389) (#4684) shave and code split (#4630) docs: acp support (#4793) Add Take Action for Hacktoberfest (#4791) Remove now unused mcp-server crate (#4773) Release/1.9.0 (#4703) chore(mcp): convert computercontroller server to use the rust sdk (#4772) Docs: Delete sessions from UI and edit has changed (#4785) Don't load user's shell env on app startup (#4681) Docs: Chrome Dev Tools Extension Tutorial (#4783) Add Hacktoberfest 2025 Leaderboard Workflow (#4776) # Conflicts: # crates/goose-server/src/routes/recipe.rs # ui/desktop/openapi.json # ui/desktop/src/api/types.gen.ts # ui/desktop/src/hooks/useRecipeManager.ts # ui/desktop/src/recipe/index.ts
…esumed sessions (#4774)
|
@DOsinga I pushed up all the minor feedback. I started another branch with the major refactoring feedback but I'm tempted to merge this as is in the meantime so it doesn't drift too far. |
we could do that. can you explain about useAgent though why we need those changes, those seem like the most fishy. and we'd have to do it in a quick follow up where we really figure out what the architecture of this should be |
|
@DOsinga it was to work around the current front end edge cases of launching a chat / recipe in the same window and I agree its hacky so I reverted all that code and changed recipes back to launch in a new window for now until we come up with a better plan for handling this. Working on a few last feedback points and testing thoroughly to wrap this up. |
DOsinga
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
onwards and upwards! let's get this in and get to the brave new world
…-unification * 'main' of github.com:block/goose: feat: set custom models for lead/worker (#4598) feat: add grok-code-fast-1 support for xAI provider (#4472) Persist dynamic extension config so we can resume recipe sessions w/ extensions (#4331) fix: show PowerShell PATH instructions for Windows users (#4989) feat: add Smart Task Organizer recipe for Hacktoberfest (#4936) Fix extension headers (#5000) feat: add advanced software project generator initializer recipe (#4767) (#4949)
|
Sounds good will do asap. Wrapping up final testing before I merge. |
* main: (22 commits) fix: Issue #4540: `goose configure` -> Cursor Agent succeeds (#4942) feat: Add advanced data analysis pipeline recipe (#4990) (#5005) Create / edit recipe form unification and improvements (#4693) feat: add Code Review Mentor recipe with Developer and Memory extensions (#4992) (#5014) feat: set custom models for lead/worker (#4598) feat: add grok-code-fast-1 support for xAI provider (#4472) Persist dynamic extension config so we can resume recipe sessions w/ extensions (#4331) fix: show PowerShell PATH instructions for Windows users (#4989) feat: add Smart Task Organizer recipe for Hacktoberfest (#4936) Fix extension headers (#5000) feat: add advanced software project generator initializer recipe (#4767) (#4949) Removed unused libs (#4932) Platform extensions sketch (#4868) Add reply to the routes (#4963) feat(cli): add GOOSE_DEBUG environment variable support (#4825) docs: Change community page sections (#4984) docs: remove temporary Hacktoberfest issue templates (#4982) Create multi-channel researcher prompt (#4947) docs: Add Community Content section to Community Page (#4964) Allow empty API Key when registering custom provider (#4977) ...
* main: (130 commits) Add new subcommand for opening recipes in desktop app (block#4970) Update system.md with softer subagent language (block#5023) docs: add new goose tip (block#4941) Fix nix flake double copy (block#4976) Upgrade electron for macOS Tahoe compatibility (block#5015) fix: check server is ready so that we can decode the recipe deeplink (block#5021) fix: backwards compatible parsing recipe file (block#5020) chore: Used common function to list recipes in local machine (block#4974) fix: Issue block#4540: `goose configure` -> Cursor Agent succeeds (block#4942) feat: Add advanced data analysis pipeline recipe (block#4990) (block#5005) Create / edit recipe form unification and improvements (block#4693) feat: add Code Review Mentor recipe with Developer and Memory extensions (block#4992) (block#5014) feat: set custom models for lead/worker (block#4598) feat: add grok-code-fast-1 support for xAI provider (block#4472) Persist dynamic extension config so we can resume recipe sessions w/ extensions (block#4331) fix: show PowerShell PATH instructions for Windows users (block#4989) feat: add Smart Task Organizer recipe for Hacktoberfest (block#4936) Fix extension headers (block#5000) feat: add advanced software project generator initializer recipe (block#4767) (block#4949) Removed unused libs (block#4932) ...
Signed-off-by: Itz-Agasta <[email protected]>





Pull Request Description
Refactored create/edit recipe in recipe manager and chat to use the same form and experience. Added a few missing features and usability improvements while I was at it.
This is not a full redesign of recipes. Its a first step towards unifying the front end code and experience in its current state to fill in the gaps in preparation of moving recipe functionality to the backend and a full redesign. Will follow up in another PR with tests.
Changes
recipe-editorroute since its no longer in a new windowScreenshots