v0.3.0
Phoenix uploads. LiveView already owns the upload experience, so Magpie
does not ship a component — it fills the two gaps a Dropbox backend
creates: getting the bytes there without spooling them to disk, and
skipping the server altogether.
Added
Magpie.LiveView.UploadWriter— aPhoenix.LiveView.UploadWriterthat
streams a LiveView upload straight into a Dropbox upload session, so the
bytes never land on the server's disk. Chunks are buffered to
:chunk_size(default 8 MiB, Dropbox wants multiples of 4 MiB) and the
tail rides along with the finish call. Magpie does not depend on
:phoenix_live_view— the behaviour is a plain set of callbacksMagpie.LiveView.presign_upload/4— a LiveView:externaluploader that
mints a one-time link withMagpie.Files.get_temporary_upload_link/3so the
browser posts the file straight to Dropbox, bypassing the server. Entries
above Dropbox's 150 MB single-request limit are rejected at presign time
instead of being handed a link that cannot work. The client-side half ships
aspriv/static/magpie_uploader.js