Skip to content

fix: consolidate S3 Tables refresh controls - #225

Merged
overtrue merged 1 commit into
rustfs:mainfrom
GatewayJ:fix/s3-tables-single-refresh
Sep 9, 2026
Merged

fix: consolidate S3 Tables refresh controls#225
overtrue merged 1 commit into
rustfs:mainfrom
GatewayJ:fix/s3-tables-single-refresh

Conversation

@GatewayJ

@GatewayJ GatewayJ commented Sep 9, 2026

Copy link
Copy Markdown
Member

Pull Request

Description

S3 Tables displayed two Refresh buttons with overlapping scopes. Keep the page-header Refresh as the single normal refresh action and remove the warehouse toolbar duplicate. Context-specific Retry actions remain available.

Continue refreshing known buckets when listing S3 buckets fails, while retaining the listing error. This preserves the ability to update the current catalog after removing the independent warehouse refresh action.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test improvements
  • Security fix

Testing

  • Unit tests added/updated: N/A; this page interaction was verified with an isolated browser fixture, and all 563 existing tests pass.
  • Manual testing completed: before/after screenshots inspected at desktop and mobile sizes and in dark mode.
nvm use v22
pnpm install --frozen-lockfile
pnpm type-check
pnpm lint
pnpm format:check
pnpm test:run
git diff --check

Browser checks against the local Next.js app with intercepted API responses verified:

  • One normal Refresh action remains at desktop (1440 × 1000), mobile (390 × 844), and dark-mode layouts, without horizontal page overflow.
  • Header Refresh reloads catalog configuration, the bucket list and statuses, namespaces, tables, and views, and displays updated results.
  • A failed bucket-status request retains its local Retry, which restores the workspace.
  • A failed S3 bucket-list request still refreshes known bucket statuses and catalog contents, keeps the error visible, and recovers through Retry.
  • No unexpected API requests or browser errors in the successful flows.

No live backend data was modified. A production build was not run locally; type checking and the running page cover this bounded change, and CI runs the production build.

Checklist

  • Code follows the project's style guidelines
  • Self-review completed
  • TypeScript types are properly defined
  • All commit messages are in English (Conventional Commits)
  • All existing tests pass
  • No new dependencies added, or they are justified

Related Issues

N/A

Screenshots (if applicable)

Captured from the actual local page with illustrative fixture data. Before and after use the same viewport and catalog state; these screenshots do not represent live-backend validation.

View Before After
Desktop Desktop before Desktop after

Additional Notes

Independent correctness, simplicity, and UX review completed. The only additional requests occur when a bucket-list refresh fails after buckets were previously loaded: their statuses are still queried, with existing permission and error handling intact.

@GatewayJ
GatewayJ requested review from cxymds and overtrue September 9, 2026 09:23
@overtrue
overtrue merged commit a2f33b1 into rustfs:main Sep 9, 2026
10 checks passed
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.

2 participants