learningequality / learningequality/studio

Add S3 multipart upload support for the dev/minio backend

Open
#5,990 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

DEV: backend
Dominant language
Python
Stars
191
Forks
307
Avg merge
5d 6h
Merged PRs (30d)
10

Description

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

Local dev runs on minio (S3), which has no GCS resumable session. Add S3 multipart support to the dev/minio backend so upload_url's resumable scheme works there, and the web frontend (#5988) can use one chunked-upload path everywhere.

Complexity: Medium
Target branch: unstable

Context

#5975 added the resumable scheme as a server-initiated GCS session; on the S3 backend upload_url still returns single-PUT. minio supports the S3 multipart API (initiate, upload parts, complete), an equivalent chunked, resumable-style upload.

Out of Scope
  • Upload integrity enforcement on minio. This is dev-only, and mirrors today's S3 single-PUT, which does not enforce Content-MD5.
Acceptance Criteria
  • On the S3 backend, the resumable upload_url path initiates an S3 multipart upload and returns what the client needs to upload parts and finalize.
  • A file uploads to dev/minio in multiple parts via this path.
  • The web frontend uses this path in dev with no single-PUT fallback.
References

AI usage

Drafted with Claude (Opus 4.8), which researched the minio/S3 multipart references; I reviewed and edited.

Revised later with Claude (Opus 5) to put the #5975 prerequisite in past tense now that it has closed, and to remove a one-line "The Change" section that restated an acceptance criterion.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue centers on the S3 backend's resumable upload_url path and the web frontend integration; first read issue #5975 and the AWS multipart-upload references. Trace how upload_url currently handles S3 single-PUT uploads, then verify the acceptance criteria by uploading a file to dev/minio in multiple parts and confirming the frontend uses that path without fallback.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
api, backend, cloud, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.