-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Add bottom menu extension selection #5352
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
|
|
||
| const fetchExtensions = useCallback(async () => { | ||
| await getExtensions(true); | ||
| }, [getExtensions]); |
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.
why wrap this in a callback? we can just call getExtensions where it is needed, no?
| const extensions = useMemo(() => { | ||
| if (extensionsList.length === 0) { | ||
| return []; | ||
| } |
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.
I don't think checking this gets you anything
| } | ||
| return a.enabled ? -1 : 1; | ||
| }); | ||
| }, [filteredExtensions]); |
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.
we seem to have two sorts going on here. let's combine them into one. also the first sort looks at bundled which I don't think really gives us anything. if we wanted to do this, prioritize anything that is of type {Builtin, Platform, Frontend} I would say
| msg: `Failed to ${extensionConfig.enabled ? 'disable' : 'enable'} ${extensionConfig.name}`, | ||
| traceback: error instanceof Error ? error.message : String(error), | ||
| }); | ||
| await fetchExtensions(); |
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.
hmm, do we want to do this in the error clause? if it failed on 67 it will fail again. why do we need to fetch extensions again anyway?
| extension: Extension; | ||
| isEnabled: boolean; | ||
| onToggle: (enabled: boolean) => void; | ||
| } |
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.
Let's flatten this. I also would drop the description. this is a compact view and the descriptions hardly ever add anything anyway
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.
my bad this wasn't even used after I refactored things, removed
…ithub.com:block/goose into zane/next-camp/chat-extension-toggle * 'main' of github.com:block/goose: (re)Standardize Session Name Attribute (#5279) * 'zane/next-camp/chat-extension-toggle' of github.com:block/goose:
- Add error handling for extension fetch failures - Add autofocus to search input for better UX - Reset search query when dropdown closes
- Remove empty array check in extensions memo - Combine sorting logic and prioritize by type (builtin/platform/frontend) - Flatten extension item view and remove descriptions for compact display - Remove unused imports (getSubtitle, getExtensions)
* main: Add bottom menu extension selection (#5352)
Signed-off-by: Blair Allan <[email protected]>
* main: fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350) Add bottom menu extension selection (#5352) (re)Standardize Session Name Attribute (#5279) chore: improve timeout for entering password when running goose ui from source (#5349)
* main: fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350) Add bottom menu extension selection (#5352) (re)Standardize Session Name Attribute (#5279) chore: improve timeout for entering password when running goose ui from source (#5349)
* main: (54 commits) fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350) Add bottom menu extension selection (#5352) (re)Standardize Session Name Attribute (#5279) chore: improve timeout for entering password when running goose ui from source (#5349) Fix legacy import (#5343) Unify loading goose messages and usechatstream determines chat state (#5306) Docs: goose session export and goose session import (#5267) Create recipe dir on save (#5337) docs: Update Discord link (#5335) [recipe workflow]: Fix `Invalid revision range` error (#5334) Add tech-article-explainer recipe (#5333) doc: added beta banner for old blog post (#5332) ...
…message * 'main' of github.com:block/goose: Add bottom menu extension selection (#5352)
Signed-off-by: Blair Allan <[email protected]>
Summary
Added bottom menu extension selector gated by ALPHA flag for upcoming work