Commit graph

1819 commits

Author SHA1 Message Date
MickaelK
9f8a4f515f Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2024-12-06 00:13:50 +11:00
MickaelK
e06b2329a1 fix (editor): blank screen with binary data 2024-12-06 00:13:24 +11:00
MickaelK
609fd308c1 fix (caching): cache invalidation issue
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
2024-12-05 23:30:58 +11:00
MickaelK
d6b618988d fix (caching): cache invalidation issue
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
2024-12-05 23:30:18 +11:00
MickaelK
d56cdd3cc3 chore (plg_authenticate_simple): additional debug info 2024-12-05 22:46:59 +11:00
MickaelK
8d70b7e26c feature (plg_authenticate_simple): auth facade with a gui 2024-12-05 22:34:01 +11:00
MickaelK
edea084ace feature (admin): enable banner in form 2024-12-05 17:54:20 +11:00
MickaelK
b1a35c7f54 fix (css): css rule issue 2024-12-05 17:51:47 +11:00
MickaelK
72b4acbad8 fix (typo): html bug 2024-12-04 22:58:39 +11:00
MickaelK
c7dcf29f11 fix (public): login redirection 2024-12-04 17:08:51 +11:00
MickaelK
97a82423a4 fix (tus): edge case on tus protocol 2024-12-04 16:05:28 +11:00
MickaelK
387631bf7e fix (upload): validation issue in upload task 2024-12-04 13:09:17 +11:00
MickaelK
ddb1e6fd53 feature (upload): canary - upload design 2024-12-04 13:07:17 +11:00
MickaelK
50b99a005c fix (upload): canary upload fab button 2024-12-04 10:34:34 +11:00
MickaelK
dba8bc000a fix (cloudflare): cloudflare cache issue 2024-12-03 23:35:15 +11:00
MickaelK
1b47b613b6 fix (cloudflare): cloudflare chunked issue 2024-12-03 23:14:13 +11:00
MickaelK
f2e006b545 chore (about): css in about page 2024-12-03 12:16:15 +11:00
MickaelK
5cd126d762 feature (form): enable markdown links 2024-12-03 11:56:31 +11:00
MickaelK
4a2d4d62ed fix (translation): missing danish translation 2024-12-03 10:58:19 +11:00
MickaelK
009cf9656e feature (translation): new translation key 2024-12-03 10:25:39 +11:00
MickaelK
e77093ad8b feature (admin): about page design 2024-12-03 02:19:23 +11:00
MickaelK
f4007544b9 fix (form): read only form fields
we used to have the readonly attribute but somehow it's not supported by
all fields, eg: select. As such when something is read only we disable
the field
2024-12-03 01:53:49 +11:00
MickaelK
ab8e9f7641 fix (upload): smart file list refresh
before this commit, the issue was:

1. whenever uploading a large folder, any upload would trigger the ls change, resulting in a lot of unecessary dom
changes which in case the user is browsing through a lot of picture would trigger some flickering in the thumbnail.

2. large upload would be slow as virtual.before would call change
   detection and refresh the list of files within the folder constantly

now by avoiding mutations we effectively just rerender when something we
are interested changes: aka something change in the current folder the
user is in
2024-12-02 22:02:12 +11:00
MickaelK
177961c62d fix (plg_video_thumbnail): error when backend doesn't support fileseek 2024-12-02 17:24:03 +11:00
MickaelK
0dfa9b3335 fix (panic): concurrent map access
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
2024-12-02 16:28:38 +11:00
MickaelK
ff67ed97ed feature (thumbnail): video thumbnail plugin
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
2024-12-02 15:39:25 +11:00
MickaelK
c343338983 fix (upload): canary file uploader 2024-12-02 12:11:29 +11:00
MickaelK
a72925c5d8 fix (build): ts fix 2024-11-30 15:08:35 +11:00
MickaelK
487895abee fix (canary): retry mechanism on upload 2024-11-29 22:46:26 +11:00
MickaelK
ac9d1a4980 feature (tus): chunked upload via TUS
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
2024-11-29 15:04:34 +11:00
MickaelK
c556a404f7 fix (chunked): progress calculation
issue:
1. create a 2MB file: dd if=/dev/zero of=testfile bs=1024 count=2048
2. size chunk to 1MB

what we see: progress up to 50%, then stop and jump to 100%
2024-11-28 02:25:02 +11:00
MickaelK
016afe6923 fix (checkbox): checkbox in dark mode 2024-11-28 02:12:18 +11:00
MickaelK
5e420cf5f3 fix (config): save config when disk is full
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.
2024-11-28 02:03:35 +11:00
MickaelK
8303ae54f0 fix (fatal): edge case causing fatal issue
I've seen the case where someone ran out of disk with a corrupted config
file which gave the following fatal error in the login screen:

Uncaught TypeError: Cannot read properties of null (reading 'map')

with a stacktrace pointing to: ctrl_form.js:22:63

this fixes the assumptions on the config file so as to not trigger the
fatal error but head to the nicer error cases where it would say:

Internal Error: There is nothing here.

which is much nicer for end users than "Cannot read properties of null"
2024-11-28 01:50:43 +11:00
MickaelK
2914443789 chore (linter): linter and code verif 2024-11-28 01:46:53 +11:00
MickaelK
0dea98d4bd fix (chunked): chunked upload connection close
only close connection when using chunked upload. This is key if you must
use something like to work with Cloudflare
2024-11-28 01:32:41 +11:00
MickaelK
de5e2d9583 fix (cloudflare): proxy with size limit
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
2024-11-27 23:45:39 +11:00
MickaelK
63f1c780fc Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2024-11-27 00:54:59 +11:00
MickaelK
87a1987219 feature (upload): support for chunked uploads 2024-11-27 00:52:29 +11:00
Mickael
c7d48c9226
fix (webpack): webpack deps issue - #772
* fix (webpack): another webpack issue

* fix (webpack): uglify plugin is broken
2024-11-20 16:59:59 +11:00
MickaelK
12b27e3416 fix (webpack): uglify plugin is broken 2024-11-20 16:58:24 +11:00
MickaelK
0da11bf8cd fix (webpack): another webpack issue 2024-11-20 16:55:04 +11:00
MickaelK
69529b2bec fix (lint): linter and ts check 2024-11-20 16:06:43 +11:00
MickaelK
8aa33143d3 fix (sharelink): default path in shared link
regression where shared link are created without a path. This was
reported by a customer
2024-11-20 15:48:48 +11:00
MickaelK
66cc697b25 feature (tag): tag feature behind canary flag 2024-11-19 14:54:38 +11:00
MickaelK
92673f9ae3 feature (sidebar): sidebar toggle button 2024-11-18 23:41:35 +11:00
MickaelK
8c3c28ffbc fix (image): image viewer loader display 2024-11-18 18:49:40 +11:00
MickaelK
291d989ef9 fix (sidebar): better config on default
on a mobile like screen, the sidebar wouldn't be hidden entirely, it
would still show the border artifact. We need to make sure the default
is to be of class hidden to prevent such artefact
2024-11-18 17:35:48 +11:00
MickaelK
5181b1b49b fix (audio): audio context bug
whenever reading an audio file, quitting and coming back, the audio
context under wavesurfer.backend.ac would show a currentTime that is not
actually reset properly. Closing or trying several trick didn't fix the
issue, hence this approach which is quite dirty but work.

Overall wavesurfer has some weird tendencies, this is just one more hack
within the audio player
2024-11-18 16:19:17 +11:00
MickaelK
0c6fce8701 chore (refactoring): cleanup the code 2024-11-18 16:10:04 +11:00