-
Notifications
You must be signed in to change notification settings - Fork 6.9k
V4.14.6 dev #6263
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
base: main
Are you sure you want to change the base?
V4.14.6 dev #6263
Conversation
Preview mcp_server Image: |
Preview sandbox Image: |
Docs Preview:🚀 FastGPT Document Preview Ready! |
Preview fastgpt Image: |
* wip: wecom * feat: template filter by user tag * feat: wecom pay * fix: some bug * fix: zod error * feat: bill * fix: bill toast * feat: forbidden downgrade plan button * chore(fe): wecom zone * chore: use queue to delete team instead of a session * chore: adjust * feat: wecom bill logic refactor * perf: plan * perf: plan * fix: i18n * chore: adjust * feat: adjust * feat: add wecom config * perf: wecom app template recommendation & system tool preinstall * perf: some variable and tip * update create bill api schema * update create bill api schema * update create bill api schema * feat: wecom * chore: adjust * fix: ts * perf: condition order * perf: condition order --------- Co-authored-by: archer <545436317@qq.com>
* fix: system secret * chore: update docs
* feat: wecom integration (#6234) * wip: wecom * feat: template filter by user tag * feat: wecom pay * fix: some bug * fix: zod error * feat: bill * fix: bill toast * feat: forbidden downgrade plan button * chore(fe): wecom zone * chore: use queue to delete team instead of a session * chore: adjust * feat: wecom bill logic refactor * perf: plan * perf: plan * fix: i18n * chore: adjust * feat: adjust * feat: add wecom config * perf: wecom app template recommendation & system tool preinstall * perf: some variable and tip * update create bill api schema * update create bill api schema * update create bill api schema * feat: wecom * chore: adjust * fix: ts * perf: condition order * perf: condition order --------- Co-authored-by: archer <545436317@qq.com> * feat: system tool config tags (#6257) * fix: system secret (#6259) * fix: system secret * chore: update docs --------- Co-authored-by: archer <545436317@qq.com>
* team plan max file size & count * fix * fix * fix * perf: presign url * remove empty check * remove empty check * fix: ts * fix: doc * fix presign file * perf: code * perf: i18n * fix: remove maxSize attribute --------- Co-authored-by: archer <545436317@qq.com> Co-authored-by: Finley Ge <finleyge@fastgpt.io>
* feat: wecom integration (#6234) * wip: wecom * feat: template filter by user tag * feat: wecom pay * fix: some bug * fix: zod error * feat: bill * fix: bill toast * feat: forbidden downgrade plan button * chore(fe): wecom zone * chore: use queue to delete team instead of a session * chore: adjust * feat: wecom bill logic refactor * perf: plan * perf: plan * fix: i18n * chore: adjust * feat: adjust * feat: add wecom config * perf: wecom app template recommendation & system tool preinstall * perf: some variable and tip * update create bill api schema * update create bill api schema * update create bill api schema * feat: wecom * chore: adjust * fix: ts * perf: condition order * perf: condition order --------- Co-authored-by: archer <545436317@qq.com> * feat: system tool config tags (#6257) * fix: system secret (#6259) * fix: system secret * chore: update docs * chore: merge main (#6264) * feat: wecom integration (#6234) * wip: wecom * feat: template filter by user tag * feat: wecom pay * fix: some bug * fix: zod error * feat: bill * fix: bill toast * feat: forbidden downgrade plan button * chore(fe): wecom zone * chore: use queue to delete team instead of a session * chore: adjust * feat: wecom bill logic refactor * perf: plan * perf: plan * fix: i18n * chore: adjust * feat: adjust * feat: add wecom config * perf: wecom app template recommendation & system tool preinstall * perf: some variable and tip * update create bill api schema * update create bill api schema * update create bill api schema * feat: wecom * chore: adjust * fix: ts * perf: condition order * perf: condition order --------- Co-authored-by: archer <545436317@qq.com> * feat: system tool config tags (#6257) * fix: system secret (#6259) * fix: system secret * chore: update docs --------- Co-authored-by: archer <545436317@qq.com> * fix: custom domain limitation (#6265) * chore: update version number (#6266) * fix: price status (#6279) * fix: back button (#6281) * chore/rebase main (#6295) * chore(deps): bump undici from 7.16.0 to 7.18.2 (#6272) Bumps [undici](https://github.com/nodejs/undici) from 7.16.0 to 7.18.2. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v7.16.0...v7.18.2) --- updated-dependencies: - dependency-name: undici dependency-version: 7.18.2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump undici in /plugins/webcrawler/SPIDER (#6273) Bumps [undici](https://github.com/nodejs/undici) from 6.21.3 to 6.23.0. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v6.21.3...v6.23.0) --- updated-dependencies: - dependency-name: undici dependency-version: 6.23.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump tar from 7.4.3 to 7.5.3 in /document (#6282) Bumps [tar](https://github.com/isaacs/node-tar) from 7.4.3 to 7.5.3. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](isaacs/node-tar@v7.4.3...v7.5.3) --- updated-dependencies: - dependency-name: tar dependency-version: 7.5.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * perf: remove request invalid field (#6283) * V4.14.5.1 dev (#6290) * chore: cherry pick some commits from v4.14.6-dev (#6287) * fix: custom domain limitation (#6265) * fix: system secret (#6259) * fix: system secret * chore: update docs * chore: docs * fix password variable & datetime picker (#6276) * fix password variable & datetime picker * doc * chore: cherry pick some commits from v4.14.6-dev (#6287) * fix: custom domain limitation (#6265) * fix: system secret (#6259) * fix: system secret * chore: update docs * chore: docs * doc * chore: docs --------- Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com> Co-authored-by: Finley Ge <finleyge@fastgpt.io> * perf: extname computed (#6285) * perf: extname computed * chore: handle hash or query flags --------- Co-authored-by: Finley Ge <finleyge@fastgpt.io> * chore: docs (#6291) --------- Co-authored-by: heheer <heheer@sealos.io> Co-authored-by: Archer <545436317@qq.com> * chore: deploy scripts (#6293) * docs: 41451 upgrade doc (#6294) * feat: wecom integration (#6234) * wip: wecom * feat: template filter by user tag * feat: wecom pay * fix: some bug * fix: zod error * feat: bill * fix: bill toast * feat: forbidden downgrade plan button * chore(fe): wecom zone * chore: use queue to delete team instead of a session * chore: adjust * feat: wecom bill logic refactor * perf: plan * perf: plan * fix: i18n * chore: adjust * feat: adjust * feat: add wecom config * perf: wecom app template recommendation & system tool preinstall * perf: some variable and tip * update create bill api schema * update create bill api schema * update create bill api schema * feat: wecom * chore: adjust * fix: ts * perf: condition order * perf: condition order --------- Co-authored-by: archer <545436317@qq.com> * feat: system tool config tags (#6257) * fix: price status (#6279) * fix: back button (#6281) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Archer <545436317@qq.com> Co-authored-by: heheer <heheer@sealos.io> * feat: marketplace batch update * chore: components reuse * fix: test case --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: archer <545436317@qq.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: heheer <heheer@sealos.io>
* fix: batch update drawer ui && custom plan logic * fix: max upload file size * chore: remove comment
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.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
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.
Pull request overview
This PR introduces major platform enhancements for version 4.14.6, focused on WeCom (WeChat Work) integration, plan-based upload limits, and marketplace improvements.
Changes:
- WeCom Integration: Adds OAuth authentication, payment flows, corp token APIs, and team metadata for WeCom teams
- Plan-based Upload Limits: Enforces upload file size and count limits based on team subscription plans across backend and frontend
- Marketplace & Tooling: Implements user-tag-based tool filtering (promoteTags/hideTags), batch update UI, and enhanced admin tool management APIs
Reviewed changes
Copilot reviewed 119 out of 125 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/marketplace/src/pages/api/tool/versions.ts | New API endpoint to fetch tool version information |
| projects/marketplace/src/pages/api/tool/getDownloadUrl.ts | Enhanced to support batch tool download URL generation |
| projects/app/src/web/common/system/useSystemStore.ts | Added default upload file limits configuration |
| projects/app/src/service/common/system/index.ts | Implemented environment-driven upload limits configuration |
| projects/app/src/pages/price/index.tsx | Added WeCom-specific UI handling for pricing page |
| projects/app/src/pages/login/provider.tsx | Integrated WeCom OAuth login flow |
| projects/app/src/pages/api/plugin/getAccessToken.ts | New plugin access token generation API |
| projects/app/src/pages/api/support/user/account/loginByPassword.ts | Added WeCom user password login prevention |
| projects/app/src/pages/config/tool/marketplace.tsx | Implemented batch tool update functionality |
| projects/app/src/pageComponents/account/team/TransferOwnershipModal.tsx | New team ownership transfer UI component |
| packages/service/support/wallet/sub/utils.ts | Enhanced team plan status retrieval with WeC om trial support |
| packages/service/support/user/team/delete/* | New team deletion queue and processor implementation |
| packages/service/support/permission/auth/pluginAccessToken.ts | New JWT-based plugin access token system |
| packages/global/support/wallet/sub/type.ts | Extended subscription schemas with upload limits and WeCom pricing |
| packages/global/support/user/type.ts | Added user tags enum and WeCom-related metadata types |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "support.wallet.subscription.standardSubLevel.free desc": "核心功能免费试用。30 天未登录,将会清空知识库。", | ||
| "support.wallet.subscription.standardSubLevel.trial": "试用版", | ||
| "support.wallet.subscription.standardSubLevel.trial_desc": "企业可免费试用15天,自激活应用时起计,每个企业限体验一次。", | ||
| "support.wallet.subscription.per_year": "/ 年", |
Copilot
AI
Jan 23, 2026
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.
The duplicate translation key 'support.wallet.subscription.per_year' on line 1284 will override the first definition on line 1268. This duplicate entry should be removed.
| return toolId | ||
| ? getPkgdownloadURL(toolId) | ||
| : Array.from(tools.map((tool) => getPkgdownloadURL(tool.toolId))); |
Copilot
AI
Jan 23, 2026
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.
The return statement on line 32-34 attempts to return either a single string or an array of strings, but getPkgdownloadURL(toolId) is called without awaiting when toolId is truthy. Additionally, when returning an array, Array.from() is used unnecessarily since map() already returns an array.
The correct implementation should:
- Use
awaitfor the single toolId case - Remove
Array.from()wrapper for the array case - Consider using
Promise.all()for the array case to properly await all promises
| return Array.from( | ||
| data | ||
| .filter((item) => { | ||
| if (item.parentId) return false; | ||
| return true; | ||
| }) | ||
| .map(({ toolId, version }) => ({ | ||
| toolId, | ||
| version | ||
| })) | ||
| ); |
Copilot
AI
Jan 23, 2026
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.
Line 16 wraps the result in Array.from(), but the .map() operation already returns an array. The Array.from() call is redundant and should be removed for cleaner code.
| /** @deprecated | ||
| * But some code still use this to judge whether the member is a owner. | ||
| * TODO: Remove this field and replace it with a more appropriate way to determine ownership. | ||
| */ | ||
| role: { | ||
| type: String | ||
| }, |
Copilot
AI
Jan 23, 2026
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.
The role field on lines 47-49 is marked as deprecated with a TODO to remove it (lines 43-45), but it's still being kept because "some code still use this to judge whether the member is a owner." This indicates incomplete refactoring and technical debt. Consider creating a follow-up task to identify all usages of this deprecated field and migrate to the proper ownership determination method.
| "support.wallet.usage.Total points": "AI 积分总消耗", | ||
| "support.wallet.usage.Usage Detail": "使用详情", | ||
| "support.wallet.usage.Whisper": "语音输入", | ||
| "support.wallet.wecom_bill_tip": "请前往企微-收银台进行账单查询和开票", |
Copilot
AI
Jan 23, 2026
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.
The duplicate translation key 'support.wallet.wecom_bill_tip' on line 1316 will override the first definition on line 1208. This duplicate entry should be removed.
|
|
||
| teamPoint.updateTeamPointsCache({ teamId, totalPoints, surplusPoints }); | ||
|
|
||
| console.log('standardConstants', standardConstants); |
Copilot
AI
Jan 23, 2026
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.
A console.log statement has been left in the production code on line 242. This debug log should be removed before merging to production as it can clutter logs and potentially expose sensitive information.
| totalPoints: freePoints, | ||
| surplusPoints: freePoints | ||
| surplusPoints: freePoints, | ||
| ...(specialConfig && specialConfig) |
Copilot
AI
Jan 23, 2026
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.
Operands specialConfig and specialConfig are identical.
| hasSelections, | ||
| toggleSelect, | ||
| isSelected, | ||
| FloatingActionBar, |
Copilot
AI
Jan 23, 2026
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.
Unused variable FloatingActionBar.
| const { t, i18n } = useTranslation(); | ||
| const { feConfigs } = useSystemStore(); | ||
| const { toast } = useToast(); | ||
| const { register, reset, handleSubmit, setValue, watch, control } = useForm<UpdateToolBodyType>(); |
Copilot
AI
Jan 23, 2026
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.
Unused variable control.
| const [inputList, status, defaultInstalled, inputListVal, childTools] = watch([ | ||
| 'inputList', | ||
| // 从表单 watch 可变数据 | ||
| const [status, defaultInstalled, inputListVal, childTools, promoteTags, hideTags] = watch([ |
Copilot
AI
Jan 23, 2026
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.
Unused variable childTools.
Note
Adds WeCom (企业微信) support across auth, billing and team ops; introduces per‑plan file upload limits; enhances system/plugin tooling and background deletion.
Written by Cursor Bugbot for commit 59d70e4. This will update automatically on new commits. Configure here.