feat(upload): add resumable chunk configuration and file validation
Some checks failed
Build and Publish Docker Image / deploy (push) Failing after 56s

- Add `WARPBOX_RESUMABLE_CHUNK_MODE` and `WARPBOX_RESUMABLE_CHUNK_PATH` environment variables to configure temporary chunk storage.
- Implement strict file validation for resuming uploads to ensure selected files match the pending session's metadata.
- Add `PLANS.md` to document development stages, roadmap, and API specifications (including batching and resumable flows).
This commit is contained in:
2026-06-02 22:13:54 +03:00
parent 5cd476e7f3
commit 313c89483c
22 changed files with 1809 additions and 324 deletions

View File

@@ -48,6 +48,10 @@
width: 100%;
}
.upload-options .form-footer .upload-new-button {
margin-top: -0.25rem;
}
.hero-copy {
text-align: center;
}
@@ -371,6 +375,62 @@ button {
background: var(--surface-1-hover);
}
.upload-file-waiting {
border-color: color-mix(in srgb, var(--primary) 42%, var(--border));
background: color-mix(in srgb, var(--primary) 8%, var(--background));
}
.upload-file-complete .file-progress span {
background: var(--success);
}
.upload-file-state {
grid-column: 1 / -1;
color: var(--muted-foreground);
font-size: 0.72rem;
text-align: right;
}
.upload-recovery-overlay {
position: fixed;
inset: 0;
z-index: 80;
display: grid;
place-items: center;
padding: 1rem;
background: color-mix(in srgb, var(--background) 72%, transparent);
backdrop-filter: blur(10px);
}
.upload-recovery-modal {
width: min(34rem, 100%);
box-shadow: var(--shadow-lg);
}
.upload-recovery-modal h2 {
margin: 0 0 0.65rem;
font-size: 1.35rem;
}
.upload-recovery-modal p {
margin: 0;
color: var(--muted-foreground);
line-height: 1.55;
}
.upload-recovery-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.7rem;
margin-top: 1.25rem;
}
@media (max-width: 640px) {
.upload-recovery-actions {
grid-template-columns: 1fr;
}
}
.result-item small,
.download-item small,
.result-item code,