From 2d42d6dc6028bd62f4f3b18bc86ec8704eecc3de Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Wed, 7 Dec 2022 19:21:27 +0100 Subject: [PATCH 1/3] Gzip compress HTTP response for Web fonts --- src/server/response.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server/response.cpp b/src/server/response.cpp index 2c751e7b0..6020f9f78 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -64,7 +64,13 @@ bool is_compressible_mime_type(const std::string& mimeType) || mimeType.find("application/javascript") != std::string::npos || mimeType.find("application/atom") != std::string::npos || mimeType.find("application/opensearchdescription") != std::string::npos - || mimeType.find("application/json") != std::string::npos; + || mimeType.find("application/json") != std::string::npos + + // Web fonts + || mimeType.find("application/font-") != std::string::npos + || mimeType.find("application/x-font-") != std::string::npos + || mimeType.find("application/vnd.ms-fontobject") != std::string::npos + || mimeType.find("font/") != std::string::npos; } bool compress(std::string &content) { From b404241d0b732fc5d713cab7a9a5fcd76b388cb9 Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Thu, 8 Dec 2022 12:55:28 +0100 Subject: [PATCH 2/3] Fix font compression tests --- test/server.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/server.cpp b/test/server.cpp index 3d4cf7581..072233d45 100644 --- a/test/server.cpp +++ b/test/server.cpp @@ -70,6 +70,10 @@ const ResourceCollection resources200Compressible{ { STATIC_CONTENT, "/ROOT/skin/taskbar.css?cacheid=216d6b5d" }, { DYNAMIC_CONTENT, "/ROOT/skin/viewer.js" }, { STATIC_CONTENT, "/ROOT/skin/viewer.js?cacheid=51e745c2" }, + { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf" }, + { STATIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf?cacheid=af705837" }, + { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf" }, + { STATIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf?cacheid=84d10248" }, { DYNAMIC_CONTENT, "/ROOT/catalog/search" }, @@ -124,10 +128,6 @@ const ResourceCollection resources200Uncompressible{ { STATIC_CONTENT, "/ROOT/skin/favicon/safari-pinned-tab.svg?cacheid=8d487e95" }, { DYNAMIC_CONTENT, "/ROOT/skin/favicon/site.webmanifest" }, { STATIC_CONTENT, "/ROOT/skin/favicon/site.webmanifest?cacheid=bc396efb" }, - { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf" }, - { STATIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf?cacheid=af705837" }, - { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf" }, - { STATIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf?cacheid=84d10248" }, { DYNAMIC_CONTENT, "/ROOT/skin/hash.png" }, { STATIC_CONTENT, "/ROOT/skin/hash.png?cacheid=f836e872" }, { DYNAMIC_CONTENT, "/ROOT/skin/magnet.png" }, From cd3d2110d9b34bdd28d1a33c748983a67e610f8d Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Thu, 8 Dec 2022 13:03:33 +0100 Subject: [PATCH 3/3] Error if run_command() fails, remove meson warning --- static/meson.build | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/static/meson.build b/static/meson.build index 1bed7ebe1..123146cac 100644 --- a/static/meson.build +++ b/static/meson.build @@ -1,6 +1,7 @@ resource_files = run_command(res_manager, '--list-all', - files('resources_list.txt') + files('resources_list.txt'), + check: true ).stdout().strip().split('\n') preprocessed_resources = custom_target('preprocessed_resource_files', @@ -33,7 +34,8 @@ lib_resources = custom_target('resources', i18n_resource_files = run_command(find_program('python3'), '-c', 'import sys; f=open(sys.argv[1]); print(f.read())', - files('i18n_resources_list.txt') + files('i18n_resources_list.txt'), + check: true ).stdout().strip().split('\n') i18n_resources = custom_target('i18n_resources',