This contains a bunch of things packaged in 1:
1) UI improvements for the 3D viewer to support all sort of file types
and create a nice rendering in a clean way with all sort of options
2) enable people to use Filestash as an SDK so we can embed the 3d viewer
elsewhere
until this, if a user tries to connect to the same backend with a
different path, the frontend would flicker as we'd get things from the
wrong cache key
this fix a panic that can be replicated using the video thumbnail
plugin, opening up a page with a lot of videos. Under the hood, the
server would call ffmpeg that would make a bunch of HTTP range requests
that would call the cache concurrently, hence causing the panic
up until now, the stance was to refuse video thumbnail because it's too
slow but really many people don't seem to care that much about it and
keep insisting to have it.
With this solution, it's not in the base build but it gives an
option for those people to make it happen
instead of inventing a new protocol for chunked upload that can be
resumed, we might as well use something that already exists like TUS.
As such we removed our custom implementation to favor that standard
before this, if the user had a full disk, there wouldn't be any error
reported back whenever editing something in the admin
console as file.Close() would return nil ....
The only way to go around it is to wait for the sync to be done.
Cloudflare does limit the size of file upload by an arbitrary number. We
can go around that by using chunked upload but somehow that wasn't
enough, to circumvent that issue, we make it clear to the proxy it
should close the connection and we hope the problem we go away
Azure SFTP only hold the connection for 2 minutes .... So we got to
flush our cache before it occurs, otherwise we end up with a "Connection lost" error
whenever using an iframe, cookies are a problem in cross domain setup as
browser like safari got that disabled entirely. We had to find a
solution to work with Safari properly, hence passing the data through
URL