Allow to serve static WebAssembly and TensorFlow Lite files #29747
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since Talk 13 (and thus Nextcloud 23) WebAssembly (.wasm) and TensorFlow Lite (.tflite) files need to be loaded from the web server to provide certain features (like the background blur in the WebUI).
Those files can be treated in a similar way to other static resources, and there should not be any problem caching or compressing them. However, as compressed TensorFlow Lite files are only ~12% smaller, the compression directive depends on the MIME type and there is no standard MIME type for TensorFlow Lite files it is not worth to compress them.
Moreover, no directives to compress WebAssembly files were added either, as it seems that they would override any other compression directives set in the default server configuration (but it could just be that I do now know how to do it :-) ); for reference I tried with:
Depending on the setup application/wasm may not be associated with .wasm files, so the directive was added just in case, as otherwise browsers log a warning.
In any case my Apache knowledge is almost null, so please review carefully :-) (and if you know how to add compression for WebAssembly files while keeping the default compression directives that would be great!)