✨ feat: skill setting page and skill store#11665
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Sorry @rdmclin2, your pull request is larger than the review limit of 150000 diff characters
|
There is too much information in the pull request to test. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## next #11665 +/- ##
==========================================
+ Coverage 74.08% 74.38% +0.30%
==========================================
Files 1188 1188
Lines 94734 94735 +1
Branches 10873 12995 +2122
==========================================
+ Hits 70184 70469 +285
+ Misses 24460 24176 -284
Partials 90 90
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 80121c16e0
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| const handleKlavisConnect = useCallback(async () => { | ||
| if (!userId || !serverName) return; | ||
| if (klavisServer) return; | ||
|
|
There was a problem hiding this comment.
Allow Klavis reconnect when server exists but not connected
The Skill Store shows a connect action whenever a Klavis integration isn’t in CONNECTED state, but handleKlavisConnect bails out as soon as any klavisServer record exists. If a user starts OAuth and closes the window (leaving the server in PENDING_AUTH or ERROR), the connect button in the Skill Store/list/detail modal will do nothing because this early return blocks re-authorization. That leaves the integration stuck unless the user navigates elsewhere to remove the server. Consider allowing connect when the server exists but isn’t connected (e.g., re-open OAuth or refresh tools).
Useful? React with 👍 / 👎.
| <Flexbox gap={12} horizontal paddingInline={16} style={{ paddingBottom: 12 }}> | ||
| <Item {...item} /> | ||
| {nextItem && <Item {...nextItem} />} |
There was a problem hiding this comment.
Prevent Virtuoso row count from exceeding loaded items
The virtualized list renders two items per row by indexing into allItems, but totalCount is set to half of the server total. During pagination, totalCount can exceed allItems.length, so Virtuoso will request indices beyond the loaded array and item becomes undefined, causing <Item {...item} /> to throw and the list to blank out. This can happen as soon as the first page loads while totalCount is larger than the fetched items. Either build row data to match totalCount or keep totalCount aligned with the loaded array length.
Useful? React with 👍 / 👎.
e5f3754 to
7e090df
Compare
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
# Conflicts: # locales/ar/models.json # locales/bg-BG/models.json # locales/de-DE/models.json # locales/es-ES/models.json # locales/fa-IR/models.json # locales/fr-FR/models.json # locales/it-IT/models.json # locales/ja-JP/models.json # locales/ko-KR/models.json # locales/nl-NL/models.json # locales/pl-PL/models.json # locales/pt-BR/models.json # locales/ru-RU/models.json # locales/tr-TR/models.json # locales/vi-VN/models.json # locales/zh-CN/models.json # locales/zh-TW/models.json
# Conflicts: # src/features/PluginStore/InstalledList/List/Item/Action.tsx
# Conflicts: # locales/ar/chat.json # locales/ar/models.json # locales/ar/plugin.json # locales/ar/setting.json # locales/ar/subscription.json # locales/bg-BG/chat.json # locales/bg-BG/models.json # locales/bg-BG/plugin.json # locales/bg-BG/tool.json # locales/de-DE/chat.json # locales/de-DE/plugin.json # locales/es-ES/chat.json # locales/es-ES/models.json # locales/es-ES/plugin.json # locales/fa-IR/chat.json # locales/fa-IR/models.json # locales/fa-IR/plugin.json # locales/fr-FR/chat.json # locales/fr-FR/models.json # locales/fr-FR/plugin.json # locales/it-IT/chat.json # locales/it-IT/models.json # locales/it-IT/plugin.json # locales/ja-JP/chat.json # locales/ja-JP/models.json # locales/ja-JP/plugin.json # locales/ko-KR/chat.json # locales/ko-KR/models.json # locales/ko-KR/plugin.json # locales/nl-NL/chat.json # locales/nl-NL/models.json # locales/nl-NL/plugin.json # locales/pl-PL/chat.json # locales/pl-PL/models.json # locales/pl-PL/plugin.json # locales/pt-BR/chat.json # locales/pt-BR/models.json # locales/pt-BR/plugin.json # locales/ru-RU/chat.json # locales/ru-RU/models.json # locales/ru-RU/plugin.json # locales/tr-TR/chat.json # locales/tr-TR/models.json # locales/tr-TR/plugin.json # locales/vi-VN/chat.json # locales/vi-VN/models.json # locales/vi-VN/plugin.json # locales/vi-VN/setting.json # locales/zh-CN/models.json # locales/zh-TW/chat.json # locales/zh-TW/models.json # locales/zh-TW/plugin.json
# Conflicts: # locales/ar/models.json # locales/bg-BG/models.json # locales/bg-BG/plugin.json # locales/de-DE/plugin.json # locales/es-ES/models.json # locales/es-ES/plugin.json # locales/fa-IR/models.json # locales/fr-FR/models.json # locales/it-IT/models.json # locales/it-IT/plugin.json # locales/ja-JP/models.json # locales/ko-KR/models.json # locales/ko-KR/plugin.json # locales/nl-NL/models.json # locales/nl-NL/plugin.json # locales/pl-PL/models.json # locales/pl-PL/plugin.json # locales/pt-BR/models.json # locales/pt-BR/plugin.json # locales/ru-RU/models.json # locales/tr-TR/models.json # locales/tr-TR/plugin.json # locales/vi-VN/models.json # locales/vi-VN/plugin.json # locales/zh-CN/models.json # locales/zh-TW/models.json # locales/zh-TW/plugin.json
# Conflicts: # locales/ar/models.json # locales/bg-BG/models.json # locales/es-ES/models.json # locales/fa-IR/models.json # locales/fr-FR/models.json # locales/it-IT/models.json # locales/ja-JP/models.json # locales/ko-KR/models.json # locales/nl-NL/models.json # locales/pl-PL/models.json # locales/pt-BR/models.json # locales/ru-RU/models.json # locales/tr-TR/models.json # locales/vi-VN/models.json # locales/zh-CN/models.json # locales/zh-TW/models.json
# Conflicts: # src/features/PluginDevModal/index.tsx
7e090df to
47ce9f2
Compare
|
❤️ Great PR @rdmclin2 ❤️ The growth of project is inseparable from user feedback and contribution, thanks for your contribution! If you are interesting with the lobehub developer community, please join our discord and then dm @arvinxx or @canisminor1990. They will invite you to our private developer channel. We are talking about the lobe-chat development or sharing ai newsletter around the world. |
## [Version 2.0.0-next.339](v2.0.0-next.338...v2.0.0-next.339) <sup>Released on **2026-01-22**</sup> #### ♻ Code Refactoring - **misc**: Move vercel-react-best-practices skills to .agents directory. #### ✨ Features - **misc**: Skill setting page and skill store. #### 🐛 Bug Fixes - **model-runtime**: Filter unsupported image types (SVG) before sending to vision models. - **misc**: Fix group broadcast trigger tool use, fix local system tools. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Code refactoring * **misc**: Move vercel-react-best-practices skills to .agents directory, closes [#11703](#11703) ([6df7731](6df7731)) #### What's improved * **misc**: Skill setting page and skill store, closes [#11665](#11665) ([d8c0c26](d8c0c26)) #### What's fixed * **model-runtime**: Filter unsupported image types (SVG) before sending to vision models, closes [#11698](#11698) ([c0c99a7](c0c99a7)) * **misc**: Fix group broadcast trigger tool use, closes [#11646](#11646) ([831a9b3](831a9b3)) * **misc**: Fix local system tools, closes [#11702](#11702) ([6548fc7](6548fc7)) </details> <div align="right"> [](#readme-top) </div>
|
🎉 This PR is included in version 2.0.0-next.339 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [Version 1.153.0](v1.152.0...v1.153.0) <sup>Released on **2026-01-23**</sup> #### ♻ Code Refactoring - **auth**: Remove NEXT_PUBLIC_AUTH_URL env variable. - **model-select**: Migrate FunctionCallingModelSelect to LobeSelect. - **ModelSwitchPanel**: Migrate from Popover to DropdownMenu with virtual scrolling. - **userMemories**: Removed un-used code. - **misc**: Improve memory data with experience and identity, move vercel-react-best-practices skills to .agents directory. #### ✨ Features - **database**: Added user memory activity. - **desktop**: Add legacy local database detection and migration guidance. - **misc**: Add platform-aware download client menu option, add server version check for desktop app, remove Clerk authentication code, skill setting page and skill store, support agent group unpublish agents, support client tasks mode, update the sandbox preinstall libs in sys role. #### 🐛 Bug Fixes - **copilot**: Pass correct scope when creating new session in PageEditor. - **desktop**: Gracefully handle missing update manifest 404 errors. - **model-runtime**: Filter unsupported image types (SVG) before sending to vision models. - **pdf**: Upgrade pdfjs-dist and react-pdf to v5.x. - **sidebar-drawer**: Fix drawer positioning and title style. - **misc**: Fix group broadcast trigger tool use, fix local system tools, fix memory schema, fix multi agent tasks issue, fix multi tasks no summary issue, fix scope issue, fix tool argument scape and improve multi task run, fixed the sandbox tools call when error should use right callback, improve e2e server and complete i18n resources, slove the agent group editor not focus in editdata area, slove the agents header switch agents the lobeAI not show problem, sloved the old removeSessionTopics not work, TypewriterEffect not refreshing on language change, updata cron job ui & fixed commnuity pagenation goto error, update the agentbuilder tools not always use humanIntervention. #### 💄 Styles - **misc**: Improve auto scroll and group profile, update og, update share style. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Code refactoring * **auth**: Remove NEXT_PUBLIC_AUTH_URL env variable, closes [lobehub#11658](https://github.com/jaworldwideorg/OneJA-Bot/issues/11658) ([c0f9875](c0f9875)) * **model-select**: Migrate FunctionCallingModelSelect to LobeSelect, closes [lobehub#11664](https://github.com/jaworldwideorg/OneJA-Bot/issues/11664) ([ad51305](ad51305)) * **ModelSwitchPanel**: Migrate from Popover to DropdownMenu with virtual scrolling, closes [lobehub#11663](https://github.com/jaworldwideorg/OneJA-Bot/issues/11663) ([c9d9dff](c9d9dff)) * **userMemories**: Removed un-used code, closes [lobehub#11713](https://github.com/jaworldwideorg/OneJA-Bot/issues/11713) ([89750fc](89750fc)) * **misc**: Improve memory data with experience and identity, closes [lobehub#11717](https://github.com/jaworldwideorg/OneJA-Bot/issues/11717) ([bdb3eb4](bdb3eb4)) * **misc**: Move vercel-react-best-practices skills to .agents directory, closes [lobehub#11703](https://github.com/jaworldwideorg/OneJA-Bot/issues/11703) ([6df7731](6df7731)) #### What's improved * **database**: Added user memory activity, closes [lobehub#11680](https://github.com/jaworldwideorg/OneJA-Bot/issues/11680) ([0160fbd](0160fbd)) * **desktop**: Add legacy local database detection and migration guidance, closes [lobehub#11682](https://github.com/jaworldwideorg/OneJA-Bot/issues/11682) ([5664b84](5664b84)) * **misc**: Add platform-aware download client menu option, closes [lobehub#11676](https://github.com/jaworldwideorg/OneJA-Bot/issues/11676) ([55abddc](55abddc)) * **misc**: Add server version check for desktop app, closes [lobehub#11710](https://github.com/jaworldwideorg/OneJA-Bot/issues/11710) ([0cf2723](0cf2723)) * **misc**: Remove Clerk authentication code, closes [lobehub#11711](https://github.com/jaworldwideorg/OneJA-Bot/issues/11711) ([395595a](395595a)) * **misc**: Skill setting page and skill store, closes [lobehub#11665](https://github.com/jaworldwideorg/OneJA-Bot/issues/11665) ([d8c0c26](d8c0c26)) * **misc**: Support agent group unpublish agents, closes [lobehub#11687](https://github.com/jaworldwideorg/OneJA-Bot/issues/11687) ([4e060be](4e060be)) * **misc**: Support client tasks mode, closes [lobehub#11666](https://github.com/jaworldwideorg/OneJA-Bot/issues/11666) ([98cf57b](98cf57b)) * **misc**: Update the sandbox preinstall libs in sys role, closes [lobehub#11688](https://github.com/jaworldwideorg/OneJA-Bot/issues/11688) ([404c577](404c577)) #### What's fixed * **copilot**: Pass correct scope when creating new session in PageEditor, closes [lobehub#11714](https://github.com/jaworldwideorg/OneJA-Bot/issues/11714) ([0259270](0259270)) * **desktop**: Gracefully handle missing update manifest 404 errors, closes [lobehub#11625](https://github.com/jaworldwideorg/OneJA-Bot/issues/11625) ([13e95b9](13e95b9)) * **model-runtime**: Filter unsupported image types (SVG) before sending to vision models, closes [lobehub#11698](https://github.com/jaworldwideorg/OneJA-Bot/issues/11698) ([c0c99a7](c0c99a7)) * **pdf**: Upgrade pdfjs-dist and react-pdf to v5.x, closes [lobehub#11686](https://github.com/jaworldwideorg/OneJA-Bot/issues/11686) ([2b620df](2b620df)) * **sidebar-drawer**: Fix drawer positioning and title style, closes [lobehub#11655](https://github.com/jaworldwideorg/OneJA-Bot/issues/11655) ([cf5320e](cf5320e)) * **misc**: Fix group broadcast trigger tool use, closes [lobehub#11646](https://github.com/jaworldwideorg/OneJA-Bot/issues/11646) ([831a9b3](831a9b3)) * **misc**: Fix local system tools, closes [lobehub#11702](https://github.com/jaworldwideorg/OneJA-Bot/issues/11702) ([6548fc7](6548fc7)) * **misc**: Fix memory schema, closes [lobehub#11645](https://github.com/jaworldwideorg/OneJA-Bot/issues/11645) ([3baf780](3baf780)) * **misc**: Fix multi agent tasks issue, closes [lobehub#11672](https://github.com/jaworldwideorg/OneJA-Bot/issues/11672) ([9de773b](9de773b)) * **misc**: Fix multi tasks no summary issue, closes [lobehub#11685](https://github.com/jaworldwideorg/OneJA-Bot/issues/11685) ([26ce317](26ce317)) * **misc**: Fix scope issue, closes [lobehub#11719](https://github.com/jaworldwideorg/OneJA-Bot/issues/11719) ([17adde8](17adde8)) * **misc**: Fix tool argument scape and improve multi task run, closes [lobehub#11691](https://github.com/jaworldwideorg/OneJA-Bot/issues/11691) ([b13bb8a](b13bb8a)) * **misc**: Fixed the sandbox tools call when error should use right callback, closes [lobehub#11721](https://github.com/jaworldwideorg/OneJA-Bot/issues/11721) ([e8fce68](e8fce68)) * **misc**: Improve e2e server and complete i18n resources, closes [lobehub#11678](https://github.com/jaworldwideorg/OneJA-Bot/issues/11678) ([d450dd9](d450dd9)) * **misc**: Slove the agent group editor not focus in editdata area, closes [lobehub#11677](https://github.com/jaworldwideorg/OneJA-Bot/issues/11677) ([9ac84e6](9ac84e6)) * **misc**: Slove the agents header switch agents the lobeAI not show problem, closes [lobehub#11726](https://github.com/jaworldwideorg/OneJA-Bot/issues/11726) ([f45f508](f45f508)) * **misc**: Sloved the old removeSessionTopics not work, closes [lobehub#11671](https://github.com/jaworldwideorg/OneJA-Bot/issues/11671) ([06d41e5](06d41e5)) * **misc**: TypewriterEffect not refreshing on language change, closes [lobehub#11657](https://github.com/jaworldwideorg/OneJA-Bot/issues/11657) ([ba30f46](ba30f46)) * **misc**: Updata cron job ui & fixed commnuity pagenation goto error, closes [lobehub#11700](https://github.com/jaworldwideorg/OneJA-Bot/issues/11700) ([42ad2a0](42ad2a0)) * **misc**: Update the agentbuilder tools not always use humanIntervention, closes [lobehub#11696](https://github.com/jaworldwideorg/OneJA-Bot/issues/11696) ([0d3017b](0d3017b)) #### Styles * **misc**: Improve auto scroll and group profile, closes [lobehub#11725](https://github.com/jaworldwideorg/OneJA-Bot/issues/11725) ([550acc2](550acc2)) * **misc**: Update og, closes [lobehub#11709](https://github.com/jaworldwideorg/OneJA-Bot/issues/11709) ([01cf4e4](01cf4e4)) * **misc**: Update share style, closes [lobehub#11716](https://github.com/jaworldwideorg/OneJA-Bot/issues/11716) ([3c70dfa](3c70dfa)) </details> <div align="right"> [](#readme-top) </div>
💻 Change Type
🔗 Related Issue
🔀 Description of Change
🧪 How to Test
📸 Screenshots / Videos
📝 Additional Information