Skip to content

feat: support multiple file uploads in bucket#2967

Merged
premtsd-code merged 4 commits intomainfrom
multiple-file-bucket
Apr 10, 2026
Merged

feat: support multiple file uploads in bucket#2967
premtsd-code merged 4 commits intomainfrom
multiple-file-bucket

Conversation

@premtsd-code
Copy link
Copy Markdown
Contributor

@premtsd-code premtsd-code commented Apr 9, 2026

Summary

  • Allow selecting and dropping multiple files at once when uploading to a storage bucket
  • Files upload in parallel with a concurrency limit of 5 to avoid overwhelming browser/server
  • Drag-and-drop multiple files directly onto the bucket file list page for quick uploads
  • Custom file ID option only shown when a single file is selected
  • Wizard title and notification messages adapt to file count

Test plan

  • Navigate to a bucket → click "Create file" → select multiple files via file picker → verify all upload and appear in list
  • Navigate to a bucket → drag and drop multiple files onto the file list → verify all upload
  • Upload > 5 files → verify concurrency is capped (only ~5 active at a time in network tab)
  • Verify upload progress box shows all files with correct status

Before:
image

After:
image

image

Allow selecting and dropping multiple files at once when uploading
to a storage bucket. Files are uploaded in parallel with a concurrency
limit of 5 to avoid overwhelming the browser and server.
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 9, 2026

Greptile Summary

This PR adds multi-file upload support to storage buckets — both via the file picker wizard and full-page drag-and-drop — with a concurrency limit of 5 parallel uploads. All three issues flagged in prior review threads (failed-upload status tracking, silently swallowed per-file errors, missing drag-drop extension validation) have been addressed in this revision.

Confidence Score: 5/5

Safe to merge; all prior P1 findings are resolved and the only remaining finding is a low-priority edge case.

All three previously flagged P1 issues are now fixed: failed uploads are marked in the store, per-file errors surface notifications in both the wizard and drag-drop paths, and drag-drop validates extensions before uploading. The one remaining comment is a P2 edge case (case-sensitive extension comparison) that would only affect buckets whose admins stored extensions in non-lowercase form, which is non-default Appwrite behaviour.

src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+page.svelte — minor case-sensitivity issue in the manual extension filter inside handleDrop.

Important Files Changed

Filename Overview
src/lib/stores/uploader.ts Adds uploadFiles with concurrency-limited (5 parallel) batch uploading; failed uploads now correctly marked as 'failed' with an error message in the store.
src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/create/+page.svelte Multi-file selection and upload support added; per-file failures are now surfaced via addNotification; custom file ID restricted to single-file uploads.
src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+page.svelte Adds full-page drag-and-drop with extension validation, concurrency-limited batch upload, and failure notifications; minor case-sensitivity edge case in manual extension comparison.

Reviews (4): Last reviewed commit: "Revert "refactor: move MAX_CONCURRENT_UP..." | Re-trigger Greptile

…s on drop

- uploadFile now catches errors and sets status to 'failed' with error message
- Both create page and drag-drop check uploadFiles results for failures and
  show error notifications
- Drag-drop validates file extensions against bucket allowedFileExtensions
  before uploading, rejecting disallowed files with a notification
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 9, 2026

Tip:

Greploop — Automatically fix all review issues by running /greploops in Claude Code. It iterates: fix, push, re-review, repeat until 5/5 confidence.

Use the Greptile plugin for Claude Code to query reviews, search comments, and manage custom context directly from your terminal.

@premtsd-code premtsd-code merged commit 1889bdf into main Apr 10, 2026
3 of 4 checks passed
@premtsd-code premtsd-code deleted the multiple-file-bucket branch April 10, 2026 06:23
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