-
-
Notifications
You must be signed in to change notification settings - Fork 13.5k
🐛 fix: fix webapi proxy with clerk #8479
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
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Reviewer's GuideEnable OIDC authentication alongside existing Clerk/NextAuth flows by introducing a dedicated OIDC auth header branch in middleware and lambda context, refactoring the JWT utility to strip private JWK fields before import, and defining a constant for the OIDC header. Sequence diagram for OIDC authentication flow in middlewaresequenceDiagram
participant Client
participant Middleware
participant OIDCProvider
participant Clerk/NextAuth
Client->>Middleware: Request with Oidc-Auth header
Middleware->>Middleware: Detect Oidc-Auth header
Middleware->>OIDCProvider: validateOIDCJWT(oidcAuthorization)
OIDCProvider-->>Middleware: OIDC JWT payload
Middleware->>Middleware: Set jwtPayload.userId from OIDC
Middleware-->>Client: Proceed (OIDC authenticated)
Note over Middleware,Clerk/NextAuth: If Oidc-Auth header is missing, fallback to Clerk/NextAuth
Client->>Middleware: Request without Oidc-Auth header
Middleware->>Clerk/NextAuth: checkAuthMethod(...)
Clerk/NextAuth-->>Middleware: Auth result
Middleware-->>Client: Proceed (Clerk/NextAuth authenticated)
Class diagram for JWT utility refactor and OIDC header constantclassDiagram
class JWTUtility {
+getVerificationKey()
+validateOIDCJWT(token)
}
class OIDCEnv {
+OIDC_JWKS_KEY
+ENABLE_OIDC
}
class AuthConstants {
+LOBE_CHAT_AUTH_HEADER
+LOBE_CHAT_OIDC_AUTH_HEADER
+OAUTH_AUTHORIZED
}
JWTUtility -- OIDCEnv : uses
JWTUtility -- AuthConstants : uses
AuthConstants : +LOBE_CHAT_OIDC_AUTH_HEADER = "Oidc-Auth"
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
👍 @arvinxx Thank you for raising your pull request and contributing to our Community |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8479 +/- ##
==========================================
- Coverage 85.31% 85.30% -0.02%
==========================================
Files 907 907
Lines 68464 68486 +22
Branches 6268 4655 -1613
==========================================
+ Hits 58413 58419 +6
- Misses 10051 10067 +16
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
TestGru AssignmentSummary
Tip You can |
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.
Hey @arvinxx - I've reviewed your changes and they look great!
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location> `src/libs/oidc-provider/jwt.ts:83` </location>
<code_context>
} catch (error) {
log('获取 JWKS 公钥失败: %O', error);
- throw new Error(`JWKS 公钥获取失败: ${(error as Error).message}`);
+ throw new Error(`JWKS 公key获取失败: ${(error as Error).message}`);
}
};
</code_context>
<issue_to_address>
Typo in error message: '公key' should be '公钥'.
Please update the error message to use '公钥' for consistency with the rest of the codebase.
</issue_to_address>
<suggested_fix>
<<<<<<< SEARCH
throw new Error(`JWKS 公key获取失败: ${(error as Error).message}`);
=======
throw new Error(`JWKS 公钥获取失败: ${(error as Error).message}`);
>>>>>>> REPLACE
</suggested_fix>
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
} catch (error) { | ||
log('获取 JWKS 公钥失败: %O', error); | ||
throw new Error(`JWKS 公钥获取失败: ${(error as Error).message}`); | ||
throw new Error(`JWKS 公key获取失败: ${(error as Error).message}`); |
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.
issue (typo): Typo in error message: '公key' should be '公钥'.
Please update the error message to use '公钥' for consistency with the rest of the codebase.
throw new Error(`JWKS 公key获取失败: ${(error as Error).message}`); | |
throw new Error(`JWKS 公钥获取失败: ${(error as Error).message}`); |
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.
Bug: Middleware Blocks OIDC Authentication
OIDC-only authentication fails because the middleware requires the regular authorization
header to be present and processed before checking for OIDC authentication. Requests providing only the OIDC header will fail early due to the missing regular authorization header, preventing OIDC from being used as a standalone authentication method.
src/app/(backend)/middleware/auth/index.ts#L44-L79
lobe-chat/src/app/(backend)/middleware/auth/index.ts
Lines 44 to 79 in 6284ca6
const oauthAuthorized = !!req.headers.get(OAUTH_AUTHORIZED); | |
if (!authorization) throw AgentRuntimeError.createError(ChatErrorType.Unauthorized); | |
// check the Auth With payload and clerk auth | |
let clerkAuth = {} as AuthObject; | |
// TODO: V2 完整移除 client 模式下的 clerk 集成代码 | |
if (enableClerk) { | |
const auth = new ClerkAuth(); | |
const data = auth.getAuthFromRequest(req as NextRequest); | |
clerkAuth = data.clerkAuth; | |
} | |
jwtPayload = await getJWTPayload(authorization); | |
const oidcAuthorization = req.headers.get(LOBE_CHAT_OIDC_AUTH_HEADER); | |
let isUseOidcAuth = false; | |
if (!!oidcAuthorization) { | |
const oidc = await validateOIDCJWT(oidcAuthorization); | |
isUseOidcAuth = true; | |
jwtPayload = { | |
...jwtPayload, | |
userId: oidc.userId, | |
}; | |
} | |
if (!isUseOidcAuth) | |
checkAuthMethod({ | |
accessCode: jwtPayload.accessCode, | |
apiKey: jwtPayload.apiKey, | |
clerkAuth, | |
nextAuthAuthorized: oauthAuthorized, | |
}); |
BugBot free trial expires on July 22, 2025
Learn more in the Cursor dashboard.
Was this report helpful? Give feedback by reacting with 👍 or 👎
❤️ Great PR @arvinxx ❤️ 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 1.100.2](v1.100.1...v1.100.2) <sup>Released on **2025-07-18**</sup> #### 🐛 Bug Fixes - **misc**: Fix webapi proxy with clerk. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix webapi proxy with clerk, closes [#8479](#8479) ([7dd65f0](7dd65f0)) </details> <div align="right"> [](#readme-top) </div>
🎉 This PR is included in version 1.100.2 🎉 The release is available on: Your semantic-release bot 📦🚀 |
### [Version 1.99.2](v1.99.1...v1.99.2) <sup>Released on **2025-07-18**</sup> #### 🐛 Bug Fixes - **misc**: Fix webapi proxy with clerk. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix webapi proxy with clerk, closes [lobehub#8479](https://github.com/jaworldwideorg/OneJA-Bot/issues/8479) ([7dd65f0](7dd65f0)) </details> <div align="right"> [](#readme-top) </div>
* fix webapi proxy with clerk * Update jwt.ts
### [Version 1.100.2](lobehub/lobe-chat@v1.100.1...v1.100.2) <sup>Released on **2025-07-18**</sup> #### 🐛 Bug Fixes - **misc**: Fix webapi proxy with clerk. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix webapi proxy with clerk, closes [lobehub#8479](lobehub#8479) ([7dd65f0](lobehub@7dd65f0)) </details> <div align="right"> [](#readme-top) </div>
* fix webapi proxy with clerk * Update jwt.ts
### [Version 1.100.2](lobehub/lobe-chat@v1.100.1...v1.100.2) <sup>Released on **2025-07-18**</sup> #### 🐛 Bug Fixes - **misc**: Fix webapi proxy with clerk. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix webapi proxy with clerk, closes [lobehub#8479](lobehub#8479) ([7dd65f0](lobehub@7dd65f0)) </details> <div align="right"> [](#readme-top) </div>
* 💄 style: Support new Doubao thinking models (lobehub#8174) * 💄 style: update i18n (lobehub#8400) * 🔖 chore(release): v1.97.13 [skip ci] ### [Version 1.97.13](lobehub/lobe-chat@v1.97.12...v1.97.13) <sup>Released on **2025-07-12**</sup> #### 💄 Styles - **misc**: Support new Doubao thinking models, update i18n. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Support new Doubao thinking models, closes [lobehub#8174](lobehub#8174) ([637d75c](lobehub@637d75c)) * **misc**: Update i18n, closes [lobehub#8400](lobehub#8400) ([790eeb8](lobehub@790eeb8)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: Revert "💄 style: Open new topic by tap Just Chat again" (lobehub#8402) This reverts commit 7e2f4ce. * 💄 style: Add Kimi K2 model (lobehub#8401) * 🔨 chore: fix lint (lobehub#8407) * 🔖 chore(release): v1.97.14 [skip ci] ### [Version 1.97.14](lobehub/lobe-chat@v1.97.13...v1.97.14) <sup>Released on **2025-07-12**</sup> #### 🐛 Bug Fixes - **misc**: Revert "💄 style: Open new topic by tap Just Chat again". #### 💄 Styles - **misc**: Add Kimi K2 model. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Revert "💄 style: Open new topic by tap Just Chat again", closes [lobehub#8402](lobehub#8402) ([55462b9](lobehub@55462b9)) #### Styles * **misc**: Add Kimi K2 model, closes [lobehub#8401](lobehub#8401) ([4cb1a18](lobehub@4cb1a18)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: add vision support to Grok 4 (lobehub#8386) * ✨ feat: add vision support to Grok 4 * ✨ feat: disable Grok 2 Vision 1212 model * 🔖 chore(release): v1.97.15 [skip ci] ### [Version 1.97.15](lobehub/lobe-chat@v1.97.14...v1.97.15) <sup>Released on **2025-07-12**</sup> #### 🐛 Bug Fixes - **misc**: Add vision support to Grok 4. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Add vision support to Grok 4, closes [lobehub#8386](lobehub#8386) ([8512f5a](lobehub@8512f5a)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 💄 style: update i18n (lobehub#8410) Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com> * 🔖 chore(release): v1.97.16 [skip ci] ### [Version 1.97.16](lobehub/lobe-chat@v1.97.15...v1.97.16) <sup>Released on **2025-07-13**</sup> #### 💄 Styles - **misc**: Update i18n. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Update i18n, closes [lobehub#8410](lobehub#8410) ([2515875](lobehub@2515875)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 💄 style: Support Hunyuan A13B thinking model (lobehub#8278) * Update novita.ts * feat: 添加新的混元模型并更新处理负载逻辑 * fix * free Gemini 2.5 Pro * 添加 ERNIE 4.5 300B A47B 模型到 siliconcloudChatModels * novita * 添加 GLM-4.1V-Thinking 系列模型到 zhipuChatModels,并更新现有模型的上下文窗口和最大输出设置 * 更新 zhipuChatModels,添加视觉能力并启用新模型;修改 ZhiPu 的检查模型 ID * 移除多个 siliconcloud 废弃模型 * fix * 移除 groq Qwen QwQ 32B 模型配置 * 更新 siliconcloud 模型 * 更新 novita/qwen 模型 * update siliconcloud model * add Pangu Pro MoE 72B A16B * Update novita.ts * Update novita.ts * update novita --------- Co-authored-by: Arvin Xu <arvinx@foxmail.com> * 🔖 chore(release): v1.97.17 [skip ci] ### [Version 1.97.17](lobehub/lobe-chat@v1.97.16...v1.97.17) <sup>Released on **2025-07-13**</sup> #### 💄 Styles - **misc**: Support Hunyuan A13B thinking model. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Support Hunyuan A13B thinking model, closes [lobehub#8278](lobehub#8278) ([09ca978](lobehub@09ca978)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✨ feat: add network proxy for desktop (lobehub#7848) * add network proxy * update network proxy * refactor network proxy * support network proxy * fix types * fix lint * fix lint * 🔨 chore: fix settings in desktop (lobehub#8414) * Update dependency lucide-react to ^0.525.0 (lobehub#8413) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency @anthropic-ai/sdk to ^0.56.0 (lobehub#8412) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * 🔖 chore(release): v1.98.0 [skip ci] ## [Version 1.98.0](lobehub/lobe-chat@v1.97.17...v1.98.0) <sup>Released on **2025-07-13**</sup> #### ✨ Features - **misc**: Add network proxy for desktop. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **misc**: Add network proxy for desktop, closes [lobehub#7848](lobehub#7848) ([46d2509](lobehub@46d2509)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 💄 style: fix discover translation (lobehub#8423) * 🔖 chore(release): v1.98.1 [skip ci] ### [Version 1.98.1](lobehub/lobe-chat@v1.98.0...v1.98.1) <sup>Released on **2025-07-14**</sup> #### 💄 Styles - **misc**: Fix discover translation. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Fix discover translation, closes [lobehub#8423](lobehub#8423) ([15ae35c](lobehub@15ae35c)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 💄 style: update i18n (lobehub#8422) Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com> * 🔖 chore(release): v1.98.2 [skip ci] ### [Version 1.98.2](lobehub/lobe-chat@v1.98.1...v1.98.2) <sup>Released on **2025-07-14**</sup> #### 💄 Styles - **misc**: Update i18n. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Update i18n, closes [lobehub#8422](lobehub#8422) ([5b89ec8](lobehub@5b89ec8)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✨ feat: support AI Image (lobehub#8312) Co-authored-by: canisminor1990 <i@canisminor.cc> * ✨ feat(plugin): support Streamable HTTP MCP Server Auth (lobehub#8425) * ✨ feat: support http streamable auth and headers * ✨ feat: support http streamable auth and headers * improve * improve token * add i18n * update i18n * 🔖 chore(release): v1.99.0 [skip ci] ## [Version 1.99.0](lobehub/lobe-chat@v1.98.2...v1.99.0) <sup>Released on **2025-07-14**</sup> #### ✨ Features - **plugin**: Support Streamable HTTP MCP Server Auth. - **misc**: support AI Image. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **plugin**: Support Streamable HTTP MCP Server Auth, closes [lobehub#8425](lobehub#8425) ([853a09a](lobehub@853a09a)) * **misc**: support AI Image, closes [lobehub#8312](lobehub#8312) ([095de57](lobehub@095de57)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: some ai image bugs (lobehub#8432) * ⚡️ perf: improve memory usage in desktop (lobehub#8431) * improve usage of memory * try to improve * 🔖 chore(release): v1.99.1 [skip ci] ### [Version 1.99.1](lobehub/lobe-chat@v1.99.0...v1.99.1) <sup>Released on **2025-07-15**</sup> <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: some ai image generation feedback issues (lobehub#8440) * 🔖 chore(release): v1.99.2 [skip ci] ### [Version 1.99.2](lobehub/lobe-chat@v1.99.1...v1.99.2) <sup>Released on **2025-07-15**</sup> #### 🐛 Bug Fixes - **misc**: Some ai image generation feedback issues. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Some ai image generation feedback issues, closes [lobehub#8440](lobehub#8440) ([bc41329](lobehub@bc41329)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✏️ docs: replace all 'Language Model' with 'Al Service Provider' in provider docs (lobehub#8444) * 🐛 fix: chat model list should not show image model (lobehub#8448) * 🔖 chore(release): v1.99.3 [skip ci] ### [Version 1.99.3](lobehub/lobe-chat@v1.99.2...v1.99.3) <sup>Released on **2025-07-16**</sup> #### 🐛 Bug Fixes - **misc**: Chat model list should not show image model. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Chat model list should not show image model, closes [lobehub#8448](lobehub#8448) ([2bb1506](lobehub@2bb1506)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: fix apikey issue on server log (lobehub#8457) * 🔖 chore(release): v1.99.4 [skip ci] ### [Version 1.99.4](lobehub/lobe-chat@v1.99.3...v1.99.4) <sup>Released on **2025-07-16**</sup> #### 🐛 Bug Fixes - **misc**: Fix apikey issue on server log. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix apikey issue on server log, closes [lobehub#8457](lobehub#8457) ([43be2d1](lobehub@43be2d1)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: fix page error when url is not defined in web search plugin (lobehub#8441) Co-authored-by: Arvin Xu <arvinx@foxmail.com> * 🔖 chore(release): v1.99.5 [skip ci] ### [Version 1.99.5](lobehub/lobe-chat@v1.99.4...v1.99.5) <sup>Released on **2025-07-16**</sup> #### 🐛 Bug Fixes - **misc**: Fix page error when url is not defined in web search plugin. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix page error when url is not defined in web search plugin, closes [lobehub#8441](lobehub#8441) ([a55b65b](lobehub@a55b65b)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: desktop local db can't upload image (lobehub#8459) * 🔖 chore(release): v1.99.6 [skip ci] ### [Version 1.99.6](lobehub/lobe-chat@v1.99.5...v1.99.6) <sup>Released on **2025-07-16**</sup> #### 🐛 Bug Fixes - **misc**: Desktop local db can't upload image. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Desktop local db can't upload image, closes [lobehub#8459](lobehub#8459) ([25bfc80](lobehub@25bfc80)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✨ feat: refactor desktop oauth and use JWTs token to support remote chat (lobehub#8446) * refactor the oauth * refactor the oauth * refactor the oauth * improve oauth status * fix desktop auth * fix tests * improve clean handoff * try to fix handoff public issue * fix route protection * refactor anim * refactor * update to access token to jwt * update to access token to jwt * improve config * refactor for JWKs token * fix auto refresh issue * ✨ feat: support webapi proxy * wip: 完成新流式接口 * wip: 跑通流式框架 * fix webhooks * fix network proxy * try to fix workflow * fix proxy in remote sync * fix tests * fix tests * fix oauth bypass route * fix webapi proxy * 🔨 chore: improve code (lobehub#8469) * 🔖 chore(release): v1.100.0 [skip ci] ## [Version 1.100.0](lobehub/lobe-chat@v1.99.6...v1.100.0) <sup>Released on **2025-07-17**</sup> #### ✨ Features - **misc**: Refactor desktop oauth and use JWTs token to support remote chat. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **misc**: Refactor desktop oauth and use JWTs token to support remote chat, closes [lobehub#8446](lobehub#8446) ([054ca5f](lobehub@054ca5f)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: use server env config image models (lobehub#8478) * docs: update fal provider invalid image links * docs: add FAL model provider environment variables documentation * 🐛 fix: update model type assignment in parseModels.ts to use dynamic lookup * 📝 docs: add FAQ for resolving AI image generation timeout issues on Vercel * ✨ feat: implement getModelPropertyWithFallback utility for dynamic model property retrieval * 📝 docs: expand testing guide with best practices for mock data strategies, error handling, and module pollution prevention * 🐛 fix: update model type in LobeOpenAICompatibleFactory tests to 'chat' * 🔖 chore(release): v1.100.1 [skip ci] ### [Version 1.100.1](lobehub/lobe-chat@v1.100.0...v1.100.1) <sup>Released on **2025-07-17**</sup> #### 🐛 Bug Fixes - **misc**: Use server env config image models. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Use server env config image models, closes [lobehub#8478](lobehub#8478) ([768ee2b](lobehub@768ee2b)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: fix webapi proxy with clerk (lobehub#8479) * fix webapi proxy with clerk * Update jwt.ts * 🔖 chore(release): v1.100.2 [skip ci] ### [Version 1.100.2](lobehub/lobe-chat@v1.100.1...v1.100.2) <sup>Released on **2025-07-18**</sup> #### 🐛 Bug Fixes - **misc**: Fix webapi proxy with clerk. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix webapi proxy with clerk, closes [lobehub#8479](lobehub#8479) ([7dd65f0](lobehub@7dd65f0)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: some ai image bugs (lobehub#8490) * ✨ feat: add zhipu cogview4 (lobehub#8486) * 🔖 chore(release): v1.101.0 [skip ci] ## [Version 1.101.0](lobehub/lobe-chat@v1.100.2...v1.101.0) <sup>Released on **2025-07-19**</sup> #### ✨ Features - **misc**: Add zhipu cogview4. #### 🐛 Bug Fixes - **misc**: Some ai image bugs. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **misc**: Add zhipu cogview4, closes [lobehub#8486](lobehub#8486) ([0b1557d](lobehub@0b1557d)) #### What's fixed * **misc**: Some ai image bugs, closes [lobehub#8490](lobehub#8490) ([5d852be](lobehub@5d852be)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: Try fix authorization code exchange & pin next-auto to `beta.29` (lobehub#8496) * 📌 pin: next-auth@beta.29 * 🐛 fix: infinite redirection * 🔖 chore(release): v1.101.1 [skip ci] ### [Version 1.101.1](lobehub/lobe-chat@v1.101.0...v1.101.1) <sup>Released on **2025-07-19**</sup> #### 🐛 Bug Fixes - **misc**: Try fix authorization code exchange & pin next-auto to `beta.29`. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Try fix authorization code exchange & pin next-auto to `beta.29`, closes [lobehub#8496](lobehub#8496) ([27c4881](lobehub@27c4881)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 👷 build: add default `APP_URL` for docker image to avoid building error (lobehub#8507) * 💄 style: fix lobehub provider `/chat` in desktop (lobehub#8508) * 🔨 chore: fix model runtime test issue (lobehub#8511) * 🔖 chore(release): v1.101.2 [skip ci] ### [Version 1.101.2](lobehub/lobe-chat@v1.101.1...v1.101.2) <sup>Released on **2025-07-21**</sup> #### 💄 Styles - **misc**: Fix lobehub provider `/chat` in desktop. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Fix lobehub provider `/chat` in desktop, closes [lobehub#8508](lobehub#8508) ([c801f9c](lobehub@c801f9c)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✨ feat: add image generation capabilities using Google AI Imagen API (lobehub#8503) * 🔖 chore(release): v1.102.0 [skip ci] ## [Version 1.102.0](lobehub/lobe-chat@v1.101.2...v1.102.0) <sup>Released on **2025-07-21**</sup> #### ✨ Features - **misc**: Add image generation capabilities using Google AI Imagen API. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **misc**: Add image generation capabilities using Google AI Imagen API, closes [lobehub#8503](lobehub#8503) ([cef8208](lobehub@cef8208)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🔨 chore(typo): fix `redirectUrl` typo (lobehub#8513) * 💄 style: modal list header sticky style (lobehub#8514) * 🐛 fix(groq): Enable streaming for tool calls and add Kimi K2 model (lobehub#8510) * 🔖 chore(release): v1.102.1 [skip ci] ### [Version 1.102.1](lobehub/lobe-chat@v1.102.0...v1.102.1) <sup>Released on **2025-07-21**</sup> #### 🐛 Bug Fixes - **groq**: Enable streaming for tool calls and add Kimi K2 model. #### 💄 Styles - **misc**: Modal list header sticky style. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **groq**: Enable streaming for tool calls and add Kimi K2 model, closes [lobehub#8510](lobehub#8510) ([60739bc](lobehub@60739bc)) #### Styles * **misc**: Modal list header sticky style, closes [lobehub#8514](lobehub#8514) ([75273d5](lobehub@75273d5)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 💄 style: add notification for desktop (lobehub#8523) * add notification for desktop * update i18n * fix tests * 🔖 chore(release): v1.102.2 [skip ci] ### [Version 1.102.2](lobehub/lobe-chat@v1.102.1...v1.102.2) <sup>Released on **2025-07-22**</sup> #### 💄 Styles - **misc**: Add notification for desktop. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Add notification for desktop, closes [lobehub#8523](lobehub#8523) ([4917d17](lobehub@4917d17)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 👷 build: add default app url for docker image to avoid building error (lobehub#8526) * 🐛 fix: remove debug logging from ModelRuntime and async caller (lobehub#8525) * 🔖 chore(release): v1.102.3 [skip ci] ### [Version 1.102.3](lobehub/lobe-chat@v1.102.2...v1.102.3) <sup>Released on **2025-07-22**</sup> #### 🐛 Bug Fixes - **misc**: Remove debug logging from ModelRuntime and async caller. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Remove debug logging from ModelRuntime and async caller, closes [lobehub#8525](lobehub#8525) ([dd1a635](lobehub@dd1a635)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ♻️ refactor: add badge and improve document (lobehub#8528) * update readme * 📝 docs: Update readme * 💄 style: Update PlanIcon * improve tooltip placement * improve tray --------- Co-authored-by: canisminor1990 <i@canisminor.cc> * 💄 style: Update tray icon (lobehub#8530) Co-authored-by: canisminor1990 <i@canisminor.cc> * 🔖 chore(release): v1.102.4 [skip ci] ### [Version 1.102.4](lobehub/lobe-chat@v1.102.3...v1.102.4) <sup>Released on **2025-07-22**</sup> #### ♻ Code Refactoring - **misc**: Add badge and improve document. #### 💄 Styles - **misc**: Update tray icon. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Code refactoring * **misc**: Add badge and improve document, closes [lobehub#8528](lobehub#8528) ([9fb4b0d](lobehub@9fb4b0d)) #### Styles * **misc**: Update tray icon, closes [lobehub#8530](lobehub#8530) ([2696de4](lobehub@2696de4)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✨ feat: add Qwen image generation capabilities (lobehub#8534) * 🔖 chore(release): v1.103.0 [skip ci] ## [Version 1.103.0](lobehub/lobe-chat@v1.102.4...v1.103.0) <sup>Released on **2025-07-22**</sup> #### ✨ Features - **misc**: Add Qwen image generation capabilities. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **misc**: Add Qwen image generation capabilities, closes [lobehub#8534](lobehub#8534) ([7e8e5ef](lobehub@7e8e5ef)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 📝 docs: fix desktop & mcp mdx (lobehub#8541) * 💄 style: update i18n (lobehub#8537) Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com> * 🔖 chore(release): v1.103.1 [skip ci] ### [Version 1.103.1](lobehub/lobe-chat@v1.103.0...v1.103.1) <sup>Released on **2025-07-23**</sup> #### 💄 Styles - **misc**: Update i18n. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Update i18n, closes [lobehub#8537](lobehub#8537) ([b16f19b](lobehub@b16f19b)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🔨 chore: some ai image optimization (lobehub#8543) * 🔨 chore: fix an issue where some tests were failing if Branding items were updated (lobehub#8549) * Update test data for plugin action to use avatar icon path (rather than hard coded) * Update tests to use BRANDING_NAME constant instead of hardcoded 'LobeChat' and update avatar icon path in chat message tests * Update tests to replace hardcoded avatar paths with constants for inbox and user avatars * Update plugin action tests to use DEFAULT_INBOX_AVATAR constant instead of hardcoded path * 💄 style: Add cached token count to usage of GoogleAI and VertexAI (lobehub#8545) * 💄 style: fix desktop titlebar style in window (lobehub#8439) * 💄 style: Fix win electron style 📝 docs: Update readme 💄 style: Update useWatchThemeUpdate 💄 style: Update Tray icon 🔧 chore: Update windows 🔧 chore: Update filetree 🔧 chore: Update core 💄 style: Fix desktop draw style 💄 style: Update style 💄 style: Fix backgroundColor 💄 style: Update titlebar style * 💄 style: Fix windows icon * 🔧 chore: Clean * update theme * 💄 style: Update broswer * 💄 style: HandleAppThemeChange * clean * fix memory leak --------- Co-authored-by: arvinxx <arvinx@foxmail.com> * 💄 style: fix sub topic width in md responsive (lobehub#8443) * 🐛 fix: fix chat stream in desktop and update shortcut (lobehub#8520) * disable nginx chunk buffering * make setting keep alive * update shortcut * update shortcut * fix lint * 🔖 chore(release): v1.103.2 [skip ci] ### [Version 1.103.2](lobehub/lobe-chat@v1.103.1...v1.103.2) <sup>Released on **2025-07-24**</sup> #### 🐛 Bug Fixes - **misc**: Fix chat stream in desktop and update shortcut. #### 💄 Styles - **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix chat stream in desktop and update shortcut, closes [lobehub#8520](lobehub#8520) ([0192140](lobehub@0192140)) #### Styles * **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [lobehub#8545](lobehub#8545) ([66dbb24](lobehub@66dbb24)) * **misc**: Fix desktop titlebar style in window, closes [lobehub#8439](lobehub#8439) ([fd7662c](lobehub@fd7662c)) * **misc**: Fix sub topic width in md responsive, closes [lobehub#8443](lobehub#8443) ([9bae13b](lobehub@9bae13b)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * ✨ feat: support custom hotkey on desktop (lobehub#8559) * support custom hotkey * update tests * clean * fix tests * 🔖 chore(release): v1.104.0 [skip ci] ## [Version 1.104.0](lobehub/lobe-chat@v1.103.2...v1.104.0) <sup>Released on **2025-07-24**</sup> #### ✨ Features - **misc**: Support custom hotkey on desktop. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's improved * **misc**: Support custom hotkey on desktop, closes [lobehub#8559](lobehub#8559) ([b50f121](lobehub@b50f121)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider (lobehub#8557) * ✨ chore: improve image display quality (lobehub#8571) * 🔖 chore(release): v1.104.1 [skip ci] ### [Version 1.104.1](lobehub/lobe-chat@v1.104.0...v1.104.1) <sup>Released on **2025-07-25**</sup> #### 🐛 Bug Fixes - **misc**: Update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider, closes [lobehub#8557](lobehub#8557) ([d1e4a54](lobehub@d1e4a54)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🐛 fix: fix update hotkey invalid when input mod in desktop (lobehub#8572) * fix hotkey with mod * fix invalid hotkeys * add tests * 🔖 chore(release): v1.104.2 [skip ci] ### [Version 1.104.2](lobehub/lobe-chat@v1.104.1...v1.104.2) <sup>Released on **2025-07-26**</sup> #### 🐛 Bug Fixes - **misc**: Fix update hotkey invalid when input mod in desktop. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix update hotkey invalid when input mod in desktop, closes [lobehub#8572](lobehub#8572) ([07f3e6a](lobehub@07f3e6a)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 🔨 chore: add react scan debugger and bump deps (lobehub#8576) * add REACT_SCAN debug * upgrade lobehub/ui * clean * head * update * 💄 style: Add Gemini 2.5 Flash-Lite GA model (lobehub#8539) * 🔖 chore(release): v1.104.3 [skip ci] ### [Version 1.104.3](lobehub/lobe-chat@v1.104.2...v1.104.3) <sup>Released on **2025-07-26**</sup> #### 💄 Styles - **misc**: Add Gemini 2.5 Flash-Lite GA model. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Add Gemini 2.5 Flash-Lite GA model, closes [lobehub#8539](lobehub#8539) ([404ac21](lobehub@404ac21)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme * 💄 style: update i18n (lobehub#8579) Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com> * 💄 style: fix setting window layout size (lobehub#8483) * 🔖 chore(release): v1.104.4 [skip ci] ### [Version 1.104.4](lobehub/lobe-chat@v1.104.3...v1.104.4) <sup>Released on **2025-07-28**</sup> #### 💄 Styles - **misc**: Fix setting window layout size, update i18n. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Fix setting window layout size, closes [lobehub#8483](lobehub#8483) ([4902341](lobehub@4902341)) * **misc**: Update i18n, closes [lobehub#8579](lobehub#8579) ([2eccbc7](lobehub@2eccbc7)) </details> <div align="right"> [](#readme-top) </div> * 📝 docs(bot): Auto sync agents & plugin to readme --------- Co-authored-by: sxjeru <sxjeru@gmail.com> Co-authored-by: LobeHub Bot <i@lobehub.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: Arvin Xu <arvinx@foxmail.com> Co-authored-by: bbbugg <80089841+bbbugg@users.noreply.github.com> Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: René Wang <52880665+RiverTwilight@users.noreply.github.com> Co-authored-by: YuTengjing <ytj2713151713@gmail.com> Co-authored-by: canisminor1990 <i@canisminor.cc> Co-authored-by: vual <25891219+vual@users.noreply.github.com> Co-authored-by: Rylan Cai <67412196+cy948@users.noreply.github.com> Co-authored-by: Innei <tukon479@gmail.com> Co-authored-by: afon <wengxufeng@gmail.com> Co-authored-by: LovelyGuYiMeng <76251800+LovelyGuYiMeng@users.noreply.github.com> Co-authored-by: huangkairan <56213366+huangkairan@users.noreply.github.com> Co-authored-by: Jamie Stivala <jamiestivala@gmail.com> Co-authored-by: Shinji-Li <1349021570@qq.com>
* fix webapi proxy with clerk * Update jwt.ts
### [Version 1.100.2](lobehub/lobe-chat@v1.100.1...v1.100.2) <sup>Released on **2025-07-18**</sup> #### 🐛 Bug Fixes - **misc**: Fix webapi proxy with clerk. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix webapi proxy with clerk, closes [lobehub#8479](lobehub#8479) ([b86e5f4](lobehub@b86e5f4)) </details> <div align="right"> [](#readme-top) </div>
💻 变更类型 | Change Type
🔀 变更说明 | Description of Change
📝 补充信息 | Additional Information
Summary by Sourcery
Support OIDC authentication by introducing a dedicated header, validating OIDC JWTs with a refined public key extraction, and bypassing Clerk auth checks when OIDC is used.
Enhancements: