Skip to content

feat(pci.os): object pagination#21928

Merged
abullet33 merged 1 commit intorelease/pci-os-db-wk-07from
feat/pci-os-items-pagination
Feb 5, 2026
Merged

feat(pci.os): object pagination#21928
abullet33 merged 1 commit intorelease/pci-os-db-wk-07from
feat/pci-os-items-pagination

Conversation

@jperchoc
Copy link
Contributor

ref: #DATATR-1234

Description

Ticket Reference: #...

Additional Information

@github-actions github-actions bot added translation required dependencies Pull requests that update a dependency file universe-public-cloud feature New feature labels Jan 27, 2026
@jperchoc jperchoc force-pushed the feat/pci-os-items-pagination branch from af14670 to de773bd Compare January 27, 2026 15:56
@github-actions github-actions bot removed the dependencies Pull requests that update a dependency file label Jan 27, 2026
@jperchoc jperchoc force-pushed the feat/pci-os-items-pagination branch from de773bd to 238a259 Compare January 30, 2026 08:33
@github-actions github-actions bot added the has conflicts Has conflicts to resolve before merging label Jan 30, 2026
@jperchoc jperchoc force-pushed the feat/pci-os-items-pagination branch from 238a259 to 0b3cf1b Compare January 30, 2026 08:37
@jperchoc jperchoc marked this pull request as ready for review January 30, 2026 08:37
@jperchoc jperchoc requested a review from a team as a code owner January 30, 2026 08:37
@github-actions github-actions bot removed the has conflicts Has conflicts to resolve before merging label Jan 30, 2026
Copy link

Copilot AI left a 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 implements object pagination for S3 object storage, introducing a virtualized browser with infinite scroll capabilities and improved folder navigation.

Changes:

  • Replaced client-side filtering with server-side paginated object fetching using infinite queries
  • Introduced virtualized rendering for efficient handling of large object lists
  • Added folder navigation with prefix-based browsing and improved search functionality

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
objects.utils.ts New utility functions for prefix normalization and URL building
objects.constants.ts Constants for debounce delays, pagination limits, and display values
AddS3Form.component.tsx Added prefix validation rules preventing trailing/consecutive slashes
Add.modal.tsx Integration of URL query parameters to pre-populate prefix field
SearchBar.component.tsx Removed complex search dropdown component
S3ObjectRow.component.tsx New component dispatching rendering to appropriate row type
S3ObjectFileRenderer.component.tsx Removed old file renderer component
S3ObjectBrowser.component.tsx Removed old browser component
S3LZObjectFileRenderer.component.tsx Removed old locale zone file renderer
RowActions.component.tsx Extracted reusable row action buttons component
ParentRow.component.tsx New component for navigating to parent directory
LZFileRow.component.tsx New locale zone file row with virtualization support
FolderRow.component.tsx New folder row component with keyboard navigation
FileRow.component.tsx New file row component using extracted RowActions
Objects.page.tsx Major refactor introducing pagination, virtualization, and folder navigation
useDebounce.hook.ts New custom hook for debouncing values
useUpdateS3ObjectStorageClass.hook.tsx Added query invalidation for browser queries
useS3ObjectsBrowser.spec.tsx Comprehensive test suite for browser hook
useS3ObjectsBrowser.hook.tsx New hook implementing infinite query pagination
useRestoreS3Object.hook.tsx Added browser query invalidation
useDeleteS3ObjectVersion.hook.tsx Added browser query invalidation
useDeleteS3Object.hook.tsx Added browser query invalidation
useAddS3Object.hook.tsx Added browser query invalidation
virtualized-browser.constants.ts Constants for virtualized browser configuration
VirtualizedBrowser.component.tsx New virtualized list component with infinite scroll
SimpleSearchBar.component.tsx Enhanced with clear button and disabled state
Messages_*.json Added translations for new UI labels and messages
package.json Updated dependencies and added react-virtual library

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions github-actions bot added the has conflicts Has conflicts to resolve before merging label Jan 30, 2026
@jperchoc jperchoc force-pushed the feat/pci-os-items-pagination branch from 0b3cf1b to 7f76a4a Compare February 2, 2026 09:38
@github-actions github-actions bot removed the has conflicts Has conflicts to resolve before merging label Feb 2, 2026
searchQuery: string,
navigationPrefix: string,
): string {
return searchQuery || navigationPrefix;
Copy link
Contributor

Choose a reason for hiding this comment

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

question for me we should add the prefix for the actual navigation ? How to search in a folder with the actual implementation ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Search works only by providing the full prefix because of current api design. We could inject the current prefix in the search, but that would prevent user from searching in the whole bucket except when viewing the root content.
Maybe we could improve this in the future by letting the user search either in the current folder (where we inject the prefix) or in the whole bucket

@jperchoc jperchoc force-pushed the feat/pci-os-items-pagination branch from 7f76a4a to ada0438 Compare February 3, 2026 10:25
abullet33
abullet33 previously approved these changes Feb 4, 2026
lionel95200x
lionel95200x previously approved these changes Feb 4, 2026
ref: #DATATR-1234

Signed-off-by: Jonathan Perchoc <jonathan.perchoc@ovhcloud.com>
@jperchoc jperchoc dismissed stale reviews from lionel95200x and abullet33 via f071dda February 4, 2026 14:52
@jperchoc jperchoc force-pushed the feat/pci-os-items-pagination branch from ada0438 to f071dda Compare February 4, 2026 14:52
@abullet33 abullet33 requested review from abullet33 and lionel95200x and removed request for lionel95200x February 4, 2026 15:33
@abullet33 abullet33 changed the base branch from master to release/pci-os-db-wk-07 February 5, 2026 16:54
@abullet33 abullet33 merged commit 9b34fc5 into release/pci-os-db-wk-07 Feb 5, 2026
10 of 12 checks passed
@abullet33 abullet33 deleted the feat/pci-os-items-pagination branch February 5, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants