Skip to content

Conversation

@zanesq
Copy link
Collaborator

@zanesq zanesq commented Jul 25, 2025

  • Users reported some recipe loading from deeplinks was freezing the ui up to 30 seconds for the recipes to show. Moved the recipe decoding to a background process to let the app continue loading faster.

  • Fixed issue where we weren't rendering the :message pills with markdown and also created a dedicated area when editing recipes for adding multiline message markdown content.

  • Fixed issue where the splash screen was sometimes showing the animated greeting message from home/hub if there were no activities.

  • Fixed issue where the recipe install warning was not allowing scrolling for long recipe content. Also added markdown rendering in the install warning.

  • Improved loading of recipe page recipes using parallelizing rather than waiting on them to finish one by one.

Bonus: added a handy script for resetting the osx deeplink associations when testing locally.

Screenshot 2025-07-25 at 12 52 25 PM Screenshot 2025-07-25 at 12 52 56 PM

try {
// Get all registered Goose apps
console.log('Finding all registered Goose applications...');
const lsregisterOutput = execSync(`/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -B 10 -A 10 "claimed schemes:.*${PROTOCOL}:"`, { encoding: 'utf8' });
Copy link
Collaborator

Choose a reason for hiding this comment

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

this looks like it will only work on mac...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yup comment at top says only mac for now

// Filter out null results and apply archived filter
const recipes: SavedRecipe[] = [];

for (const recipe of globalRecipes) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

should we take this as a reason to remove the local recipes? it doesn't make sense to me

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

good question I'm on the fence about that I think @AaronGoldsmith had a good reason for adding local and I think the idea is you could have recipes that are specific to a project folder/workspace which might come in handy when we have a concept of "Projects"

Copy link
Contributor

@AaronGoldsmith AaronGoldsmith Jul 25, 2025

Choose a reason for hiding this comment

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

My thinking, for local recipes was that it follows how memory and .goosehints work. Both have global/local versions which can be used by Goose. Devs can decide whether they want to add a .goosehints and memory files at the repository level, which creates a more consistent experience/development environment for Goose users.

I envision being able to clone a repository, open it in Goose, and find a list established recipes that demonstrate how to interact or get the most use out of a project.

I'm fine with removing it if it's not getting used. It does look like there was a recent change in the cli to support "local recipes"
https://github.com/block/goose/blob/main/crates/goose-cli/src/recipes/search_recipe.rs#L127

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think that uses GOOSE_RECIPE_PATH_ENV_VAR maybe?

I think we talked about this in a different context about how this should be done through the server and not have the client poke around here; I wrote up this doc:

https://docs.google.com/document/d/1vjQn2MtH2XLC9o4OxPkremu2HPdaxwtbbKPzBJoFxpo/edit?tab=t.0#heading=h.ghh7fchtg0dw

on how I would like to see things go. local recipes are not a bad idea per se, but I think we should unify the CLI and the desktop first even if that means dropping the local recipes for now

Copy link
Contributor

Choose a reason for hiding this comment

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

Makes sense to prioritize unifying CLI and GUI. I'm fine with local recipes getting removed for now.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

SGTM I'll follow up with removing local recipes in another PR 👍

@zanesq zanesq merged commit 85c7747 into main Jul 28, 2025
8 checks passed
@zanesq zanesq deleted the zane/fix-recipe-rendering branch July 28, 2025 21:17
michaelneale added a commit that referenced this pull request Jul 29, 2025
* main:
  blog: streamlining detection development w/ recipes (#3689)
  fix: have option for cli providers to use their configured or default model  (#3683)
  docs: new blog post and corrections to an old one on goosehints (#3657)
  Resolve sub recipe path relative to the parent recipe path (#3642)
  Speed up recipe loading from deeplinks and various fixes (#3662)
  fix cmd + , not opening settings (#3694)
  Add warning when JSON env parsing fails. (#3696)
  chore: refactor session naming into provider (#3678)
  feat (ui): File picker for scheduling recipes default to recipe dir (#3611)
  fix: address issue with streamable http interactions via mcp (#3693)
  Provider scenario tests (#3688)
  Fix conversations before they hit the LLM (#3660)
  cli: add detailed instruction for WSL users (#3496)
  feat: recipe runs will now prompt for missing extension secrets (#3668)
  fix: pricing integration tests -> trying more runs for cache and retries (#3546)
michaelneale added a commit that referenced this pull request Jul 29, 2025
* main:
  fix: Ensures final output tool is available when using vector tool search (#3701)
  chore: adding in some new models token limits (#3685)
  blog: streamlining detection development w/ recipes (#3689)
  fix: have option for cli providers to use their configured or default model  (#3683)
  docs: new blog post and corrections to an old one on goosehints (#3657)
  Resolve sub recipe path relative to the parent recipe path (#3642)
  Speed up recipe loading from deeplinks and various fixes (#3662)
  fix cmd + , not opening settings (#3694)
  Add warning when JSON env parsing fails. (#3696)
  chore: refactor session naming into provider (#3678)
  feat (ui): File picker for scheduling recipes default to recipe dir (#3611)
  fix: address issue with streamable http interactions via mcp (#3693)
  Provider scenario tests (#3688)
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