Skip to content

fix: drop invalid 'All' page size option in knowledge base documents list - #9908

Open
xiaoxuan010 wants to merge 1 commit into
AstrBotDevs:masterfrom
xiaoxuan010:fix/kb-document-all-pagination
Open

fix: drop invalid 'All' page size option in knowledge base documents list#9908
xiaoxuan010 wants to merge 1 commit into
AstrBotDevs:masterfrom
xiaoxuan010:fix/kb-document-all-pagination

Conversation

@xiaoxuan010

@xiaoxuan010 xiaoxuan010 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Motivation / 变更动机

Fixes #9907.

The v-data-table-server in DocumentsTab.vue did not set :items-per-page-options, so it inherited Vuetify's default [10, 25, 50, 100, -1] where -1 renders as "All". Selecting "All" sends page_size=-1 to GET /api/v1/knowledge-bases/<kb_id>/documents, and the backend clamps it to 1 (page_size = max(page_size, 1) in KnowledgeBaseService.list_documents), so only 1 document is shown instead of all.

This is a regression introduced by #9055, which switched the list to server-side pagination but never handled the "All" semantics.

Modifications / 改动点

  • dashboard/src/views/knowledge-base/components/DocumentsTab.vue: explicitly set :items-per-page-options="[10, 25, 50, 100]" on v-data-table-server, removing the invalid "All" option — consistent with existing pages such as ConversationPage.vue.

  • This is NOT a breaking change. / 这不是一个破坏性变更。

Verification Steps / 验证步骤

  1. cd dashboard && npx vue-tsc --noEmit — type check passes (no output, no errors).
  2. cd dashboard && npx eslint src/views/knowledge-base/components/DocumentsTab.vue — the file has no lint errors (the repo-wide npm run lint failures are pre-existing parsing errors in unrelated .mjs/.ts files).
  3. Manual check: the pagination selector on the documents tab now only offers 10 / 25 / 50 / 100, and the "All" option no longer appears.

Screenshots or Test Results / 运行截图或测试结果

image

Checklist / 检查清单

  • 😊 If there are new features added in the PR, I have discussed it with the authors through issues/emails, etc.
    / 如果 PR 中有新加入的功能,已经通过 Issue / 邮件等方式和作者讨论过。

  • 👀 My changes have been well-tested, and "Verification Steps" and "Screenshots" have been provided above.
    / 我的更改经过了良好的测试,并已在上方提供了"验证步骤"和"运行截图"

  • 🤓 I have ensured that no new dependencies are introduced, OR if new dependencies are introduced, they have been added to the appropriate locations in requirements.txt and pyproject.toml.
    / 我确保没有引入新依赖库,或者引入了新依赖库的同时将其添加到 requirements.txtpyproject.toml 文件相应位置。

  • 😮 My changes do not introduce malicious code.
    / 我的更改没有引入恶意代码。

Summary by Sourcery

Bug Fixes:

  • Remove the invalid “All” page-size option from the knowledge base documents list to prevent requests that display only one document.

…'All' value

The v-data-table-server in DocumentsTab inherits Vuetify's default
items-per-page-options [10, 25, 50, 100, -1], where -1 renders as 'All'.
Selecting it sends page_size=-1, which the backend clamps to 1, so the
document list shows only one item.

Explicitly set :items-per-page-options to [10, 25, 50, 100] so the 'All'
option is no longer offered, consistent with other pages such as
ConversationPage.

Closes AstrBotDevs#9907
@xiaoxuan010
xiaoxuan010 marked this pull request as ready for review September 1, 2026 13:57

@sourcery-ai sourcery-ai Bot 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.

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] 知识库文档列表分页选择「All」时只返回 1 条文档

2 participants