From 201cf13d2a414a6810ad7cbb9196c579e98125dd Mon Sep 17 00:00:00 2001 From: "detail-app[bot]" <180357370+detail-app[bot]@users.noreply.github.com> Date: Wed, 16 Sep 2026 16:29:35 +0000 Subject: [PATCH] chore: remove dead /fonts/** resource handler and vendored Fraunces font --- .../javachat/config/WebMvcConfig.java | 6 -- .../resources/static/fonts/Fraunces-OFL.txt | 93 ------------------- .../javachat/config/SecurityConfigTest.java | 6 -- 3 files changed, 105 deletions(-) delete mode 100644 src/main/resources/static/fonts/Fraunces-OFL.txt diff --git a/src/main/java/com/williamcallahan/javachat/config/WebMvcConfig.java b/src/main/java/com/williamcallahan/javachat/config/WebMvcConfig.java index 257d2816..2800354a 100644 --- a/src/main/java/com/williamcallahan/javachat/config/WebMvcConfig.java +++ b/src/main/java/com/williamcallahan/javachat/config/WebMvcConfig.java @@ -24,8 +24,6 @@ public class WebMvcConfig implements WebMvcConfigurer { private static final String CONTENT_HASHED_ASSET_PATH_PATTERN = "/assets/**"; private static final String CONTENT_HASHED_ASSET_LOCATION = "classpath:/static/assets/"; private static final Duration CONTENT_HASHED_ASSET_CACHE_MAX_AGE = Duration.ofDays(365); - private static final String FONT_PATH_PATTERN = "/fonts/**"; - private static final String FONT_RESOURCE_LOCATION = "classpath:/static/fonts/"; private static final String SITE_MANIFEST_PATH = "/site.webmanifest"; private static final String STATIC_RESOURCE_LOCATION = "classpath:/static/"; private static final Duration UNVERSIONED_STATIC_RESOURCE_CACHE_MAX_AGE = Duration.ofHours(1); @@ -82,10 +80,6 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) { .setCacheControl(CacheControl.maxAge(CONTENT_HASHED_ASSET_CACHE_MAX_AGE) .cachePublic() .immutable()); - registry.addResourceHandler(FONT_PATH_PATTERN) - .addResourceLocations(FONT_RESOURCE_LOCATION) - .setCacheControl(CacheControl.maxAge(UNVERSIONED_STATIC_RESOURCE_CACHE_MAX_AGE) - .cachePublic()); registry.addResourceHandler(SITE_MANIFEST_PATH) .addResourceLocations(STATIC_RESOURCE_LOCATION) .setCacheControl(CacheControl.maxAge(UNVERSIONED_STATIC_RESOURCE_CACHE_MAX_AGE) diff --git a/src/main/resources/static/fonts/Fraunces-OFL.txt b/src/main/resources/static/fonts/Fraunces-OFL.txt deleted file mode 100644 index e0a3ac7d..00000000 --- a/src/main/resources/static/fonts/Fraunces-OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright 2018 The Fraunces Project Authors (https://github.com/undercasetype/Fraunces) - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/test/java/com/williamcallahan/javachat/config/SecurityConfigTest.java b/src/test/java/com/williamcallahan/javachat/config/SecurityConfigTest.java index 569c3116..6ce5f3ce 100644 --- a/src/test/java/com/williamcallahan/javachat/config/SecurityConfigTest.java +++ b/src/test/java/com/williamcallahan/javachat/config/SecurityConfigTest.java @@ -7,7 +7,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.head; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header; @@ -55,7 +54,6 @@ class SecurityConfigTest { "CSRF token missing or invalid. Refresh the page and retry the request."; private static final String CONTENT_HASHED_ASSET_PATH = "/assets/application-a1b2c3d4.js"; private static final String CONTENT_HASHED_ASSET_CACHE_CONTROL = "max-age=31536000, public, immutable"; - private static final String FONT_ASSET_PATH = "/fonts/Fraunces-Variable.ttf"; private static final String SITE_MANIFEST_PATH = "/site.webmanifest"; private static final String UNVERSIONED_STATIC_RESOURCE_CACHE_CONTROL = "max-age=3600, public"; private static final String HTML_SHELL_PATH = "/index.html"; @@ -198,10 +196,6 @@ void servesContentHashedAssetsWithImmutablePublicCachingWithoutCsrfCookie() thro @Test void servesUnversionedStaticResourcesWithBoundedPublicCachingWithoutCsrfCookie() throws Exception { - mockMvc.perform(head(FONT_ASSET_PATH)) - .andExpect(status().isOk()) - .andExpect(header().string(HttpHeaders.CACHE_CONTROL, UNVERSIONED_STATIC_RESOURCE_CACHE_CONTROL)) - .andExpect(header().doesNotExist(HttpHeaders.SET_COOKIE)); assertBoundedPublicStaticResource(SITE_MANIFEST_PATH); }