Skip to content

[Pagination] Lower the default max_page_size from 1000 to 200 - #4113

Merged
xIrusux merged 2 commits into
2026.xfrom
feature/lower-default-max-page-size-2026x
Sep 17, 2026
Merged

xIrusux merged 2 commits into
2026.xfrom
feature/lower-default-max-page-size-2026x

Conversation

@xIrusux

@xIrusux xIrusux commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Changes in this pull request

Follow-up to #4109 (pimcore/platform-version#306), which introduced pimcore_studio_ui.pagination.max_page_size with a default of 1000.

That value was picked arbitrarily and sits about five times above anything else in the codebase:

Limit Value
WorkflowElementsParameters::MAX_PAGE_SIZE 200
ObjectDependenciesServiceInterface::MAX_PAGE_SIZE 100
Largest default page_size_options entry 100
Icon selector page sizes 40, 80, 120

max_page_size is what stops any user of any listing from entering a page size in the changer, not just what an administrator may configure, and the generic CollectionParameters carries no upper bound of its own (#[Positive] only). A ceiling of 1000 therefore lets a user ask any listing for a thousand rows, which is well past what the endpoints behind those listings are built to serve.

This lowers the default to 200: the highest page size the API accepts anywhere, and still twice the largest default option. Installations that want more raise the setting, which is what it is for.

Also updates the two affected ConfigurationTest cases and the YAML sample in the documentation page.

Additional info

No behaviour change for a default installation, whose options top out at 100. It only narrows the range of custom page sizes a user can type.

Verified the config tree against PHP 8.4 in a container: defaults resolve to 200, an option above the ceiling is rejected at container build, and raising max_page_size alongside a larger option still validates. Codeception and the rest rely on CI.

🤖 Generated with Claude Code

1000 was picked arbitrarily and sits five times above anything else in the
codebase: the workflow elements endpoint caps at 200, object dependencies at
100, the largest default option is 100 and the icon selector tops out at 120.
The generic listing endpoint has no cap of its own, so this ceiling is what
stops any user of any listing from asking for a page that size.

200 matches WorkflowElementsParameters::MAX_PAGE_SIZE, the highest the API
accepts anywhere, and is still twice the largest default option. Admins who
need more raise it; that is what the setting is for.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings September 17, 2026 09:55
@xIrusux xIrusux added this to the 2026.3.0 milestone Sep 17, 2026

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.

🟢 Approved

The reviewed configuration, frontend fallback, tests, and documentation are consistent.

Pull request overview

This PR lowers the default pagination maximum from 1000 to 200 and synchronizes configuration, frontend fallback, tests, and documentation.

Changes:

  • Updates PHP and TypeScript defaults to 200.
  • Adjusts configuration tests.
  • Updates the pagination documentation example.
File summaries
File Description
tests/Unit/DependencyInjection/ConfigurationTest.php Updates expected defaults and validation input.
src/DependencyInjection/Configuration.php Sets the backend default to 200.
doc/03_Configuration_and_Administration/01_Configuration/08_Pagination.md Documents the new default.
assets/js/src/core/app/config/app-config.ts Synchronizes the frontend fallback.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0
  • Review effort level: Lite (auto)

Note

Copilot is running an experiment and ran this review at Lite.


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@sonarqubecloud

Copy link
Copy Markdown

@xIrusux xIrusux self-assigned this Sep 17, 2026
@xIrusux
xIrusux merged commit 8d6a0c9 into 2026.x Sep 17, 2026
21 checks passed
@xIrusux
xIrusux deleted the feature/lower-default-max-page-size-2026x branch September 17, 2026 12:30
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants