gitea/routers
logikonline 7e36d7d55c feat(api): add chunked upload support for large release attachments
Implement resumable chunked uploads to improve reliability for large file
uploads that may fail due to network issues or timeouts.

New API endpoints:
- POST /repos/{owner}/{repo}/releases/{id}/assets/upload-session
- PUT /repos/{owner}/{repo}/uploads/{session_id}/chunks/{chunk_number}
- GET /repos/{owner}/{repo}/uploads/{session_id}
- POST /repos/{owner}/{repo}/uploads/{session_id}/complete
- DELETE /repos/{owner}/{repo}/uploads/{session_id}

Features:
- Resumable uploads with session status tracking
- Out-of-order chunk uploads supported
- Configurable chunk size (default 10MB, max 100MB)
- Automatic cleanup of expired sessions (24h expiry, hourly cleanup)
- Progress tracking with bytes/chunks received counts

Files added:
- models/repo/upload_session.go - Session model and DB operations
- services/attachment/chunked.go - Chunk storage and assembly logic
- routers/api/v1/repo/upload.go - API endpoint handlers
- models/migrations/v1_26/v325.go - Database migration
2026-01-08 08:58:56 -05:00
..
api feat(api): add chunked upload support for large release attachments 2026-01-08 08:58:56 -05:00
common improve the compare page (#36261) 2026-01-01 10:32:19 -08:00
install Fix oauth2 session gob register (#36017) 2025-11-26 23:25:34 +08:00
private Fix the bug when ssh clone with redirect user or repository (#36039) 2025-12-04 19:17:49 +00:00
utils Refactor older tests to use testify (#33140) 2025-01-09 09:21:47 +08:00
web improve the compare page (#36261) 2026-01-01 10:32:19 -08:00
init.go Use global lock instead of status pool for cron lock (#35507) 2025-09-27 10:11:52 -07:00