Skip to content

team plan max file size & count#6258

Merged
c121914yu merged 13 commits into
labring:v4.14.6-devfrom
newfish-cmyk:plan-file-config
Jan 21, 2026
Merged

team plan max file size & count#6258
c121914yu merged 13 commits into
labring:v4.14.6-devfrom
newfish-cmyk:plan-file-config

Conversation

@newfish-cmyk

@newfish-cmyk newfish-cmyk commented Jan 13, 2026

Copy link
Copy Markdown
Contributor

Note

Introduces per-plan upload limits and wires them through config, backend enforcement, and UI.

  • Add maxUploadFileSize/maxUploadFileCount to plan schemas/types and compute in getTeamPlanStatus
  • Make feConfigs.uploadFileMaxSize/uploadFileMaxAmount required; load from UPLOAD_FILE_MAX_SIZE/UPLOAD_FILE_MAX_AMOUNT; set sensible defaults in system store
  • Enforce limits in file handling: multer max files, S3 system max size, and presign endpoints now gate size/count via team plan with authFrequencyLimit; remove legacy frequencyLimit API and use common util
  • Update app/dataset file selectors and chat/workflow upload hooks to respect team plan or system config for size/count
  • Add i18n strings to display upload caps; update 4.14.6 upgrade docs and doc timestamps

Written by Cursor Bugbot for commit fe3fb9e. This will update automatically on new commits. Configure here.

@gru-agent

gru-agent Bot commented Jan 13, 2026

Copy link
Copy Markdown
Contributor

There is too much information in the pull request to test.

@github-actions

github-actions Bot commented Jan 13, 2026

Copy link
Copy Markdown

Preview mcp_server Image:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-pr:fatsgpt_mcp_server_c6d23d0f1c06d2af9b2b8cbc008a43442073eda1

@github-actions

github-actions Bot commented Jan 13, 2026

Copy link
Copy Markdown

Preview sandbox Image:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-pr:fatsgpt_sandbox_c6d23d0f1c06d2af9b2b8cbc008a43442073eda1

@github-actions

github-actions Bot commented Jan 13, 2026

Copy link
Copy Markdown

Preview fastgpt Image:

registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-pr:fatsgpt_c6d23d0f1c06d2af9b2b8cbc008a43442073eda1

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread projects/app/.env.template Outdated
Comment thread projects/app/src/pageComponents/dataset/detail/Import/components/FileSelector.tsx Outdated
Comment thread packages/service/common/file/multer.ts Outdated
@c121914yu c121914yu changed the base branch from main to v4.14.6-dev January 14, 2026 02:05
Comment thread projects/app/src/components/core/app/FileSelector/index.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread projects/app/src/components/core/app/FileSelector/index.tsx
Comment thread projects/app/src/pages/api/common/file/presignTempFilePostUrl.ts Outdated
Comment thread projects/app/src/pages/api/common/system/getInitData.ts Outdated
Comment thread projects/app/src/components/Select/FileSelectorBox.tsx Outdated
Comment thread projects/app/src/components/Select/FileSelectorBox.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread projects/app/src/components/support/wallet/StandardPlanContentList.tsx Outdated
Comment thread projects/app/.env.template Outdated
Comment thread projects/app/src/components/core/app/FileSelect.tsx Outdated
Comment thread projects/app/src/components/Select/FileSelectorBox.tsx Outdated
Comment thread projects/app/.env.template Outdated
Comment thread projects/app/src/components/core/app/FileSelector/index.tsx
@cursor

cursor Bot commented Jan 19, 2026

Copy link
Copy Markdown

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.

@github-actions

github-actions Bot commented Jan 19, 2026

Copy link
Copy Markdown

Docs Preview:


🚀 FastGPT Document Preview Ready!

🔗 👀 Click here to visit preview

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread projects/app/src/pages/api/core/dataset/collection/create/images.ts
Comment thread projects/app/src/service/common/system/index.ts
Comment thread projects/app/src/service/common/system/index.ts
Comment thread packages/service/common/system/tools.ts
Comment thread packages/service/common/file/multer.ts Outdated
Comment thread packages/service/common/system/tools.ts
Comment thread projects/app/src/pages/api/core/dataset/data/insertImages.ts
@c121914yu c121914yu merged commit e8bd933 into labring:v4.14.6-dev Jan 21, 2026
7 checks passed
FinleyGe added a commit that referenced this pull request Jan 22, 2026
* 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>
c121914yu added a commit that referenced this pull request Jan 28, 2026
* 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>
FinleyGe added a commit that referenced this pull request Jan 30, 2026
* 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>
FinleyGe added a commit that referenced this pull request Jan 30, 2026
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants