Skip to content

Conversation

@ironAiken2
Copy link
Contributor

@ironAiken2 ironAiken2 commented Oct 28, 2025

Resolves #4459 (FR-1617)

Summary

Implement a user-configurable setting to control the maximum number of concurrent file uploads in the file explorer. This feature allows users to adjust upload performance based on their network conditions and system capabilities.

Changes

  • Added max_concurrent_uploads field to UserSettings interface
  • Created UI control in UserSettingsPage with select dropdown (values: 2-5)
  • Modified FileUploadManager to use PQueue with user-configured concurrency
  • Added translations for the new setting in all language files

Implementation Details

  • Setting stored in localStorage with key backendaiwebui.settings.user.max_concurrent_uploads
  • Default value: 2 concurrent uploads
  • Range: 2-5 concurrent uploads
  • Setting takes effect immediately for new upload operations

Testing

  • Verify setting persists across sessions
  • Confirm concurrent upload limit is respected
  • Check all translations are displayed correctly
  • Test with various network conditions

Copy link
Contributor Author

ironAiken2 commented Oct 28, 2025


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • flow:merge-queue - adds this PR to the back of the merge queue
  • flow:hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ironAiken2 ironAiken2 marked this pull request as ready for review October 28, 2025 05:44
@github-actions
Copy link

github-actions bot commented Oct 28, 2025

Coverage report for ./react

St.
Category Percentage Covered / Total
🔴 Statements 4.66% 532/11428
🔴 Branches 3.77% 302/8012
🔴 Functions 2.88% 102/3544
🔴 Lines 4.6% 514/11169

Test suite run success

121 tests passing in 14 suites.

Report generated by 🧪jest coverage report action from fb6a51c

@ironAiken2 ironAiken2 force-pushed the feat/FR-1617-max-concurrent-upload-setting branch from 35d6723 to 353701d Compare October 28, 2025 08:17
@ironAiken2 ironAiken2 force-pushed the fix/FR-1501-file-upload-status-tracking branch from a73aed7 to f2deff6 Compare October 28, 2025 08:17
Copy link
Member

@yomybaby yomybaby left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@agatha197 agatha197 left a comment

Choose a reason for hiding this comment

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

LGTM

@yomybaby yomybaby force-pushed the fix/FR-1501-file-upload-status-tracking branch from f2deff6 to c08b298 Compare October 28, 2025 09:46
@yomybaby yomybaby force-pushed the feat/FR-1617-max-concurrent-upload-setting branch from 353701d to ebb34a8 Compare October 28, 2025 09:46
@github-actions github-actions bot added size:L 100~500 LoC and removed size:M 30~100 LoC labels Oct 28, 2025
@graphite-app graphite-app bot changed the base branch from fix/FR-1501-file-upload-status-tracking to graphite-base/4460 October 28, 2025 09:47
@graphite-app graphite-app bot force-pushed the feat/FR-1617-max-concurrent-upload-setting branch from ebb34a8 to f887707 Compare October 28, 2025 09:50
@graphite-app graphite-app bot force-pushed the graphite-base/4460 branch from c08b298 to d79efea Compare October 28, 2025 09:50
@graphite-app graphite-app bot changed the base branch from graphite-base/4460 to main October 28, 2025 09:51
@graphite-app graphite-app bot force-pushed the feat/FR-1617-max-concurrent-upload-setting branch from f887707 to 371c676 Compare October 28, 2025 09:51
@ironAiken2 ironAiken2 force-pushed the feat/FR-1617-max-concurrent-upload-setting branch from 371c676 to 6012c4a Compare October 28, 2025 10:44
Copilot AI review requested due to automatic review settings October 28, 2025 10:44
Copy link
Contributor

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 a user-configurable setting to control the maximum number of concurrent file uploads in the file explorer. Users can now adjust upload concurrency (2-5 concurrent uploads) based on their network conditions and system capabilities. The default value is 2 concurrent uploads.

  • Added max_concurrent_uploads field to UserSettings interface and created UI control in UserSettingsPage
  • Modified FileUploadManager to use PQueue with user-configured concurrency and improved error handling
  • Added translations for the new setting across all supported languages
  • Applied minor UI improvements to notification components and removed unused import

Reviewed Changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
react/src/hooks/useBAISetting.tsx Added max_concurrent_uploads field to UserSettings interface
react/src/pages/UserSettingsPage.tsx Created select dropdown UI control for max concurrent uploads setting (values: 2-5)
react/src/components/FileUploadManager.tsx Updated to use user-configured concurrency via PQueue and refactored error handling
react/src/components/FolderExplorerOpener.tsx Removed unused BAIUnmountAfterClose wrapper component
react/src/components/BAISessionNotificationItem.tsx Added max height and overflow styles to notification extra description card
react/src/components/BAIGeneralNotificationItem.tsx Added max height and overflow styles to notification extra description card
resources/i18n/*.json Added translations for MaxConcurrentUploads and DescMaxConcurrentUploads across all language files

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

@graphite-app
Copy link

graphite-app bot commented Oct 29, 2025

Merge activity

…mit (#4460)

Resolves #4459 ([FR-1617](https://lablup.atlassian.net/browse/FR-1617))

## Summary
Implement a user-configurable setting to control the maximum number of concurrent file uploads in the file explorer. This feature allows users to adjust upload performance based on their network conditions and system capabilities.

## Changes
- Added `max_concurrent_uploads` field to UserSettings interface
- Created UI control in UserSettingsPage with select dropdown (values: 2-5)
- Modified FileUploadManager to use PQueue with user-configured concurrency
- Added translations for the new setting in all language files

## Implementation Details
- Setting stored in localStorage with key `backendaiwebui.settings.user.max_concurrent_uploads`
- Default value: 2 concurrent uploads
- Range: 2-5 concurrent uploads
- Setting takes effect immediately for new upload operations

## Testing
- [ ] Verify setting persists across sessions
- [ ] Confirm concurrent upload limit is respected
- [ ] Check all translations are displayed correctly
- [ ] Test with various network conditions

[FR-1617]: https://lablup.atlassian.net/browse/FR-1617?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
@graphite-app graphite-app bot force-pushed the feat/FR-1617-max-concurrent-upload-setting branch from 6012c4a to fb6a51c Compare October 29, 2025 01:27
@graphite-app graphite-app bot merged commit fb6a51c into main Oct 29, 2025
11 checks passed
@graphite-app graphite-app bot deleted the feat/FR-1617-max-concurrent-upload-setting branch October 29, 2025 01:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:i18n Localization area:ux UI / UX issue. size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add user setting for maximum concurrent file upload limit

4 participants