Skip to content

fix(aurora-portal): ceph - apply ui/ux improvements from swift design reviews#863

Merged
andypf merged 30 commits into
mainfrom
mark-ceph-ui-improvements
Jun 11, 2026
Merged

fix(aurora-portal): ceph - apply ui/ux improvements from swift design reviews#863
andypf merged 30 commits into
mainfrom
mark-ceph-ui-improvements

Conversation

@mark-karnaukh-extern-sap

@mark-karnaukh-extern-sap mark-karnaukh-extern-sap commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Applies the UI/UX improvements established during the Swift object storage design reviews to the Ceph (S3/RGW) object storage UI, ensuring visual and interaction consistency across both storage backends.

Background

The Swift object storage UI went through two design review sessions with Marta Wright (16.04 for the container list; 15/18.05 for objects and bulk operations). This PR tracks bringing the Ceph UI in line with those decisions so that users get a consistent experience regardless of the underlying backend.

Scope

Bucket/container list layer

  • Bucket/container list view, action/overflow menu, empty state
  • Create / delete / empty bucket flows and confirmations
  • Bucket metadata management

Objects & bulk operations layer

  • Object browser with folder navigation
  • Multi-select bulk operations toolbar and confirmation flow
  • Object file actions (copy, move, delete)
  • Object details / metadata display
  • Upload dialog with progress and visual feedback

Design Reference

Figma (list layer): Object storage review 16.04
Figma (objects & bulk operations): Object storage Swift – 15/18.05
Reviewer: Marta Wright (User Exp Engineering Specialist, external)
Review dates: 16.04 (list), 15–18.05 (objects & bulk operations)

Checklist

  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have made corresponding changes to the documentation (if applicable).
  • My changes generate no new warnings or errors.

Summary by CodeRabbit

  • New Features

    • Info/status blocks now show pluralized bucket/item counts (total vs. filtered) above lists.
  • Bug Fixes

    • Delete-bucket flow shows a Close action when buckets contain objects to prevent accidental deletion.
  • Improvements

    • Ceph object lists use virtualization for smoother scrolling and aligned headers.
    • Modal and inline messages standardized to plain styled text; minor layout/height adjustments.
    • Create/Copy/Move/Edit metadata modals refined for clearer helper and error text.
  • Tests

    • Expanded coverage for info blocks, modals, selection, emptying flows, and virtualization behavior.

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@andypf, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 53 minutes and 24 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d60e5a41-8008-4d33-ab4c-75b4d66c9496

📥 Commits

Reviewing files that changed from the base of the PR and between 565a96e and 3988f66.

📒 Files selected for processing (1)
  • packages/aurora/src/client/components/ProjectView/ProjectInfoBox.tsx
📝 Walkthrough

Walkthrough

Moves footer counts into pluralized toolbar info blocks, virtualizes Ceph objects table, switches route wiring to CephObjects/prop-based SwiftObjects, replaces Juno Message components with themed paragraphs in modals, updates tests, adjusts table heights, and updates i18n plural messages.

Changes

Storage Container and Object UI Consolidation

Layer / File(s) Summary
Route wiring and exports
packages/aurora/src/client/routes/.../objects/index.tsx, packages/aurora/src/client/routes/.../storage/-components/Ceph/Objects/index.tsx, packages/aurora/src/client/routes/.../storage/-components/Swift/Objects/index.tsx
Switches route rendering to CephObjects (alias export) and updates ObjectsDashboard to render SwiftObjects with explicit provider/containerName props; tests adjusted to pass props.
Ceph containers info block and tests
packages/aurora/src/client/routes/.../storage/-components/Ceph/Containers/index.tsx, .../index.test.tsx
Adds containers-info-block showing total vs filtered bucket counts via Plural; adds comprehensive CephContainers tests for loading/error/search/selection/empty-all flows.
Container modals and footer behavior
.../Ceph/Containers/{CreateBucketModal,DeleteBucketModal,EmptyBucketModal,EmptyBucketsModal}.tsx, tests
Replaces Message components with styled paragraphs, implements Close-only footers for non-deletable/empty states via ModalFooter/ButtonRow, and updates related tests.
Ceph objects virtualization and tests
packages/aurora/src/client/routes/.../Ceph/Objects/ObjectsTableView.tsx, .../ObjectsTableView.test.tsx
Replaces non-virtualized DataGrid body with a virtualized rows model (folders then objects), adds header alignment (scrollbarWidth/parentRef), switches empty check to rows.length === 0, and updates tests with deterministic virtualizer mocks and testid-based assertions.
Objects info blocks (Ceph + Swift)
.../Ceph/Objects/ObjectBrowserView.tsx, .../Swift/Objects/index.tsx, tests
Adds objects-info-block showing localized total vs filtered item counts using Plural; tests verify filtered/unfiltered display.
Object modals: Copy/Move/Edit metadata
.../Ceph/Objects/{CopyObjectModal,MoveObjectModal,EditMetadataModal}.tsx, tests
Removes Juno Message usage, renders errors/warnings as themed <p> elements, moves helper text above inputs, consolidates mutation/error rendering, and updates modal title text to “Edit metadata:”.
Swift table height & footer removal
.../Swift/Containers/ContainerTableView.tsx, .../Swift/Objects/ObjectsTableView.tsx, tests
Adjusts virtualized body heights (calc(100vh - ...) changes), removes footer item-count displays and unused allCount variables; removes footer tests accordingly.
i18n plural message updates
packages/aurora/src/locales/en/messages.po, packages/aurora/src/locales/de/messages.po
Replaces legacy bucket/item count msgids with new ICU plural templates for total and filtered counts; updates Edit metadata tagged text and removes obsolete msgids.
Misc tests & UI tweaks
packages/aurora/src/client/routes/.../tests/*, .../Swift/*
Adds virtualizer mock for tests, updates multiple tests for new testids/title text/button ids, and minor button/spacing tweaks (e.g., Add Property size).

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant CephContainers
  participant ContainerTableView
  participant EmptyBucketsModal
  participant ToastHelpers
  User->>CephContainers: open Ceph Containers screen
  CephContainers->>ContainerTableView: render buckets + selection callback
  User->>ContainerTableView: select buckets
  ContainerTableView->>CephContainers: update selectedContainers
  User->>CephContainers: click "Empty All"
  CephContainers->>EmptyBucketsModal: open with selected buckets
  EmptyBucketsModal->>CephContainers: onComplete (success/failure)
  CephContainers->>ToastHelpers: trigger success/error toast
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related issues

Possibly related PRs

Suggested labels

enhancement

Suggested reviewers

  • KirylSAP
  • andypf
  • vlad-schur-external-sap

"🐰 I hopped through lists and counts with care,
Buckets and objects now shown fair,
Virtual rows align the header's gaze,
Messages made simple in modal displays,
Tests and strings sing tidy—hop, hooray!"

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and specifically describes the main change: applying UI/UX improvements from Swift design reviews to Ceph, which accurately reflects the comprehensive changeset across bucket management and object storage components.
Description check ✅ Passed The PR description provides excellent context with summary, background, scope breakdown, design references, and checklist, though the description template sections (Changes Made, Related Issues, Screenshots, Testing Instructions) are not explicitly structured.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mark-ceph-ui-improvements

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mark-karnaukh-extern-sap mark-karnaukh-extern-sap added pr-build Triggers Docker image build for PR preview push image to GHCR. pr-preview aurora-portal object storage Ceph labels Jun 3, 2026
@mark-karnaukh-extern-sap mark-karnaukh-extern-sap changed the title fix(ui): Ceph - apply UI/UX improvements from Swift design reviews fix(aurora-portal): ceph - apply ui/ux improvements from swift design reviews Jun 3, 2026
KirylSAP
KirylSAP previously approved these changes Jun 10, 2026

@KirylSAP KirylSAP 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.

Good job!

TilmanHaupt
TilmanHaupt previously approved these changes Jun 10, 2026
KirylSAP
KirylSAP previously approved these changes Jun 10, 2026

@andypf andypf left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Great!

@coderabbitai coderabbitai Bot mentioned this pull request Jun 16, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

aurora-portal Ceph object storage pr-build Triggers Docker image build for PR preview push image to GHCR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task](ui): Apply UI/UX improvements from Swift (design reviews 16.04 + 15/18.05)

6 participants