Open swissspidy opened 2 weeks ago
Overall upload queue logic:
flowchart TD
A[Add new item to the upload queue] --> B[Analyze file and determine list of operations]
B --> C{Has next operation?}
C-- Yes --> D[Perform next operation]
D --> C
C -- No --> E[Remove from queue to finish upload]
Example operations for an image:
flowchart TD
A[Add image to the upload queue] --> B[Analyze file and determine list of operations]
B --> C{Is HEIF image?}
C-- Yes --> D[Decode HEIF image]
C -- No --> E{Is there a big image size threshold?}
D --> E
E -- Yes --> F[Scale down image]
E -- No --> G{Compress image before upload?}
F --> G
G -- Yes --> H[Compress image]
G -- No --> J[Upload image to server]
H --> J
J --> K[Generate thumbnails]
K --> L{Is there a big image size threshold?}
L -- Yes --> M[Upload original to server, if the image was scaled down]
L -- No --> N[Remove item from queue]
M --> N
Need to properly document architecture and design decisions, as well as blockers.
Including:
SharedArrayBuffer
/ cross-origin isolation / iframe credentialless requirements and limitations