File hashing is a pretty intensive task both for CPU and disk.
This feature seems not to be a must have and can produce unwanted side effects.
Very large file can take a lot of time to be hashed at the end of transfert, producing protential timeouts and user frustration.
Users can still enable file deduplication feature by setting `file_hash` to `md5`.
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
When a timeout is too low compared to sent size, server will return a 500 error.
Jirafeau retry to send again but do not try to reduce chunk size.
This patch will make Jiarfeau split in half it's sent size each an error occurs.
ref #273
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
When setting a PHP ini value like `post_max_size`,
the value may not have a modifier (e.g. "M") and
for "0" input, the function return empty string.
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
Setting `post_max_size` and `upload_max_filesize` PHP options to "0" is unmanaged by Jirafeau.
It tries to send 0 bytes and Javascript have some zero division errors.
This commit will use $max_upload_chunk_size_bytes option when available.
If $max_upload_chunk_size_bytes is also set to zero, chunk size is set an arbitrary value of 10M.
Non html-5 users will not have size limitation shown.
fixes#272
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
A new option `dark_style` is introduced to set which dark theme administrators want to user.
If administrator don"t want to use a dark mode, they can just set `dark_syle` and `style` option to the same value.
closes#305
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
A user which just have "Error" is hard to help.
This should help understanding what is happening.
ref #303
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
With the appropriate config option enabled, Jirafeau will send the
X-Sendfile header instead of sending the file itself. As a result,
Apache/lighttpd will send the file without the intervention of Jirafeau,
and download resumes/seeking will also be enabled for this download.
If the user requested an encrypted file then this will not work, but it
should work in all other cases.
Following the update to php 8, I got the following debug error when trying to access my instance :
"Array and string offset access syntax with curly braces is no longer supported in [...]/jirafeau/lib/functions.php on line 31"
I just changed the deprecated curly braces into brackets and I was good to go.
Avoid aborting on this type of error, better wait for state change.
Still log "error" and "abort" events.
ref #212
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
When post_max_size == upload_max_filesize, Jifeau sends too large request (files + headers) and serveur still returns 200.
Jirafeau does not see any files and return Error 23.
Javascript client now detect this error and retry with a lower file size to make room for headers.
closes#240
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
Each time an async file is pushed, its size is check in order to not get over a maximal_upload_size option.
On the first push, the destination file does not exist and this generates a warning.
closes#238
Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>