Create / edit recipe form unification and improvements#4693
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.
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.
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.
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 <rupamgolui69@gmail.com>





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