learningequality / learningequality/studio
Remove the non-resumable single-PUT upload path
Nobody has claimed this yet.
- 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
Once the web (#5988) and ricecooker (learningequality/ricecooker#678) clients both upload via resumable, remove the single-PUT path so resumable is the only upload scheme.
Complexity: Low
Target branch: unstable
Context
#5975 added opt-in resumable via the resumable flag on upload_url, retaining single-PUT for un-migrated clients. Once both clients have migrated, single-PUT is dead code.
The Change
- Remove the presigned single-
PUTURL subsystem instorage_common.py:get_presigned_upload_url,_get_gcs_presigned_put_url,_get_s3_presigned_put_url, andUnknownStorageBackendErrorif unused elsewhere. - Remove the
get_presigned_upload_urlcall fromupload_url. - Make resumable the only scheme, dropping the
resumableflag and its branching along with the non-resumable >500 MB guard. - Remove the presigned-URL tests in
test_storage_common.py. - Remove any remaining single-
PUTclient code.
Acceptance Criteria
-
upload_urlalways returns a resumable session or definitive skip; no single-PUTURL is produced. - The presigned single-
PUTsubsystem is gone: thestorage_common.pyhelpers, theresumableflag, and the >500 MB guard. - No client code performs single-
PUT.
AI usage
Drafted with Claude (Opus 4.8) from the #5975 cutover plan; I reviewed and edited it.
Revised later with Claude (Opus 5) to resolve the bare client references into issue links.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in storage_common.py at upload_url and the named presigned-upload helpers, then review test_storage_common.py for the tests to remove. Search the repository for remaining single-PUT client code and the resumable flag. Done means upload_url only returns a resumable session or skips definitively, with no single-PUT helpers, guard, or client path remaining.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, cloud
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100