team plan max file size & count#6258
Conversation
|
There is too much information in the pull request to test. |
Preview mcp_server Image: |
Preview sandbox Image: |
Preview fastgpt Image: |
There was a problem hiding this comment.
Pull request overview
This pull request introduces team plan-based file upload limits by moving configuration from the global feConfigs object to environment variables and adding team subscription plan constraints. The changes allow different teams to have different file upload limits based on their subscription tier.
Changes:
- Migrated file upload configuration from global feConfigs to environment variables (UPLOAD_FILE_MAX_SIZE and UPLOAD_FILE_MAX_AMOUNT)
- Added team plan-based upload limits (maxUploadFileSize and maxUploadFileCount) to subscription schemas
- Updated all file upload components to respect both system-wide and team-specific limits using Math.min logic
Reviewed changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/app/src/service/common/system/index.ts | Removed uploadFileMaxSize from default feConfigs |
| projects/app/src/pages/api/core/dataset/presignDatasetFilePostUrl.ts | Changed to read UPLOAD_FILE_MAX_AMOUNT from env vars for rate limiting |
| projects/app/src/pages/api/core/dataset/data/insertImages.ts | Updated file upload limits to use env vars |
| projects/app/src/pages/api/core/dataset/collection/create/*.ts | Updated multer maxFileSize to use env vars |
| projects/app/src/pages/api/core/chat/file/presignChatFilePostUrl.ts | Updated rate limiting to use env vars |
| projects/app/src/pages/api/common/system/getInitData.ts | Added env var values to feConfigs in API response |
| projects/app/src/pages/api/common/file/presignTempFilePostUrl.ts | Updated rate limiting to use env vars |
| projects/app/src/pageComponents/dataset/detail/Import/components/FileSelector.tsx | Added team plan limit checks with Math.min logic |
| projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/RenderInput/templates/FileSelect.tsx | Added team plan limit checks |
| projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodePluginIO/InputTypeConfig.tsx | Added team plan limit checks |
| projects/app/src/components/support/wallet/StandardPlanContentList.tsx | Added display of upload file limits in plan details |
| projects/app/src/components/core/chat/ChatContainer/ChatBox/hooks/useFileUpload.tsx | Added team plan limit checks for file uploads |
| projects/app/src/components/core/app/FileSelector/index.tsx | Added team plan limit checks |
| projects/app/src/components/core/app/FileSelect.tsx | Added team plan limit checks |
| projects/app/src/components/Select/FileSelectorBox.tsx | Added team plan limit checks |
| projects/app/.env.template | Added UPLOAD_FILE_MAX_SIZE and UPLOAD_FILE_MAX_AMOUNT environment variables (duplicated) |
| packages/web/i18n/*.json | Added translation keys for upload file limits |
| packages/service/support/wallet/sub/utils.ts | Added maxUploadFileSize and maxUploadFileCount to team plan status |
| packages/service/support/wallet/sub/schema.ts | Added maxUploadFileSize and maxUploadFileCount fields to schema |
| packages/service/common/s3/constants.ts | Changed getSystemMaxFileSize to use env vars |
| packages/service/common/file/utils.ts | Changed getFileMaxSize to use env vars |
| packages/service/common/file/multer.ts | Updated to use env vars (contains bug) |
| packages/global/support/wallet/sub/type.ts | Added maxUploadFileSize and maxUploadFileCount to type definitions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bf74447 to
fb6a520
Compare
a16466d to
36cad37
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 32 out of 33 changed files in this pull request and generated 9 comments.
Comments suppressed due to low confidence (2)
projects/app/src/pages/api/core/dataset/presignDatasetFilePostUrl.ts:37
- The presignDatasetFilePostUrl API doesn't pass the maxFileSize limit to the S3 createUploadDatasetFileURL method, unlike presignTempFilePostUrl which does pass it to createPresignedPutUrl. This means team plan-specific file size limits won't be enforced for dataset file uploads. The createUploadDatasetFileURL call should be updated to pass the maxFileSize option similar to how presignTempFilePostUrl does it.
return await getS3DatasetSource().createUploadDatasetFileURL({
datasetId,
filename
});
projects/app/src/pages/api/core/chat/file/presignChatFilePostUrl.ts:38
- The presignChatFilePostUrl API doesn't pass the maxFileSize limit to the S3 createUploadChatFileURL method, similar to the issue in presignDatasetFilePostUrl. This means team plan-specific file size limits won't be enforced for chat file uploads. The createUploadChatFileURL call should be updated to pass the maxFileSize option.
return await getS3ChatSource().createUploadChatFileURL({
appId,
chatId,
filename,
uId: uid
});
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
You have run out of free Bugbot PR reviews for this billing cycle. This will reset on February 12. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
Docs Preview:🚀 FastGPT Document Preview Ready! |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 36 out of 37 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
20b72c2 to
69f2090
Compare
* 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>
* 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>
* 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> * chore: update version number (#6266) * fix: price status (#6279) * fix: back button (#6281) * team plan max file size & count (#6258) * 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: marketplace batch update (#6299) * 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: upload file size limit && batch update plugin ui (#6308) * fix: batch update drawer ui && custom plan logic * fix: max upload file size * chore: remove comment * fix: plan-status (#6311) * fix: price page (#6313) * fix: plan ui * fix: custom standard plan (#6317) * fix: system tool route & batch update drawer ui (#6318) * fix: system tool route * chore: upgrade docs * chore: batch update ui * fix: marketplace tool detail readme height (#6324) * fix: marketplace tool detail readme height * chore: use useRequest2 * chore: adapt new plugin sdk (#6334) * chore: adapt new plugin sdk * chore: bump @fastgpt-sdk/plugin to 0.3.6; fix type error --------- Co-authored-by: Finley Ge <finleyge@fastgpt.io> Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com> * fix: marketplace batch update drawer button background (#6340) * chore: useRequest2 -> useRequest * #6193 feat(SeekDB): 集成支持 SeekDB 向量数据库 (#6338) * #6193 feat(SeekDB): 集成支持 SeekDB 向量数据库 - 添加 SEEKDB_ADDRESS 环境变量支持 - 在 vectorDB 控制器中优先返回 SeekVectorCtrl 实例 - 新增 SeekDB 向量库控制器,复用 OceanBase 控制器实现 - 更新部署文档,新增 SeekDB 相关描述和配置说明 - 新增 SeekDB 的 Docker Compose 配置,支持国内和全球镜像 - 在开发文档中添加 SeekDB 的环境要求及特性介绍 - 修改部署脚本支持 SeekDB 版本快速部署 * fix(vectorDB): add type annotation to getVectorObj to resolve TypeScript compilation error - Add return type annotation (: VectorControllerType) to getVectorObj function - Fixes Docker build failure: Property 'insertIds' does not exist on type 'unknown' - The Vector object now has correct type inference for retryFn Related: Docker build fails at TypeScript type checking stage * #6193 refactor(vectorDB): 调整 SeekDB 控制器导入方式 - 将 ObClient 和 ObVectorCtrl 分开导入,提升代码清晰度 - 将导出语句拆分为两行,便于后续维护 - 保持 OceanBase 控制器复用逻辑不变 - 优化代码格式,增强可读性 * doc --------- Co-authored-by: archer <545436317@qq.com> * fix date time picker disabled status (#6352) * fix date time picker disabled status * fix build * fix: copilot review * perf: claude review * fix: ts * chore: docs, type (#6350) * fix: mock (#6354) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: archer <545436317@qq.com> Co-authored-by: heheer <heheer@sealos.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: roy <whoeverimf5@gmail.com> Co-authored-by: flying~dragon <58673960+flying-dragon-ai@users.noreply.github.com>
Note
Introduces per-plan upload limits and wires them through config, backend enforcement, and UI.
maxUploadFileSize/maxUploadFileCountto plan schemas/types and compute ingetTeamPlanStatusfeConfigs.uploadFileMaxSize/uploadFileMaxAmountrequired; load fromUPLOAD_FILE_MAX_SIZE/UPLOAD_FILE_MAX_AMOUNT; set sensible defaults in system storemultermax files, S3 system max size, and presign endpoints now gate size/count via team plan withauthFrequencyLimit; remove legacy frequencyLimit API and use common utilWritten by Cursor Bugbot for commit fe3fb9e. This will update automatically on new commits. Configure here.