From ab21253d4f3ae09ccf4ced677c70955c1780048a Mon Sep 17 00:00:00 2001 From: 3252a8 <3252a8@proton.me> Date: Wed, 10 Jun 2026 12:31:52 +0300 Subject: [PATCH] chore(admin): drop emoji-logo cache leftovers Emoji logos were removed long ago; the only remaining trace was a purge of stale data/webapp-emoji cache files on theme save. Remove the purge, the WEBAPP_EMOJI_CACHE_DIR constant and the emoji part of the prune test. --- backend/bot/app/web/admin_api_impl/themes.py | 10 ---------- tests/test_webapp_assets.py | 10 ---------- 2 files changed, 20 deletions(-) diff --git a/backend/bot/app/web/admin_api_impl/themes.py b/backend/bot/app/web/admin_api_impl/themes.py index b68ed08..6f0db78 100644 --- a/backend/bot/app/web/admin_api_impl/themes.py +++ b/backend/bot/app/web/admin_api_impl/themes.py @@ -25,7 +25,6 @@ WEBAPP_UPLOADED_LOGO_DIR = Path(__file__).resolve().parents[5] / "data" / "webap WEBAPP_UPLOADED_LOGO_PATH = "/webapp-uploaded-logo" WEBAPP_FAVICON_DIR = Path(__file__).resolve().parents[5] / "data" / "webapp-logo" / "favicons" WEBAPP_FAVICON_PATH = "/webapp-favicon" -WEBAPP_EMOJI_CACHE_DIR = Path(__file__).resolve().parents[5] / "data" / "webapp-emoji" WEBAPP_FAVICON_SIZES = (16, 32, 48, 180, 192, 512) WEBAPP_LOGO_UPLOAD_CONTENT_TYPES = { ".gif": "image/gif", @@ -171,15 +170,6 @@ def prune_unused_appearance_assets(settings: Settings) -> None: except OSError: logger.warning("Failed to remove unused webapp favicon set %s", path, exc_info=True) - # Emoji logos were removed; purge any leftover animated-emoji cache files. - for path in WEBAPP_EMOJI_CACHE_DIR.glob("*.512.*"): - if path.is_file(): - try: - path.unlink() - except OSError: - logger.warning("Failed to remove unused webapp emoji asset %s", path, exc_info=True) - - async def _persist_appearance_upload( request: web.Request, updates: Dict[str, Any], diff --git a/tests/test_webapp_assets.py b/tests/test_webapp_assets.py index 1179bb5..4dade69 100644 --- a/tests/test_webapp_assets.py +++ b/tests/test_webapp_assets.py @@ -647,10 +647,8 @@ class WebAppAssetTests(unittest.IsolatedAsyncioTestCase): root = Path(tmpdir) uploads = root / "uploads" favicons = root / "favicons" - emoji = root / "emoji" uploads.mkdir() favicons.mkdir() - emoji.mkdir() (uploads / "logo-1111111111111111.png").write_bytes(b"keep") (uploads / "logo-2222222222222222.png").write_bytes(b"remove") (favicons / "aaaaaaaaaaaaaaaa").mkdir() @@ -659,10 +657,6 @@ class WebAppAssetTests(unittest.IsolatedAsyncioTestCase): (favicons / "aaaaaaaaaaaaaaaa" / "icon-180.png").write_bytes(b"keep") (favicons / "bbbbbbbbbbbbbbbb" / "icon-180.png").write_bytes(b"keep") (favicons / "cccccccccccccccc" / "icon-180.png").write_bytes(b"remove") - # Emoji logos were removed; any leftover emoji cache files are purged. - (emoji / "1f929.512.gif").write_bytes(b"remove") - (emoji / "1f929.512.webp").write_bytes(b"remove") - (emoji / "1f525.512.gif").write_bytes(b"remove") settings = SimpleNamespace( WEBAPP_LOGO_URL="/webapp-uploaded-logo/logo-1111111111111111.png", WEBAPP_FAVICON_URL="/webapp-favicon/aaaaaaaaaaaaaaaa/icon-180.png", @@ -672,7 +666,6 @@ class WebAppAssetTests(unittest.IsolatedAsyncioTestCase): with ( patch.object(admin_themes, "WEBAPP_UPLOADED_LOGO_DIR", uploads), patch.object(admin_themes, "WEBAPP_FAVICON_DIR", favicons), - patch.object(admin_themes, "WEBAPP_EMOJI_CACHE_DIR", emoji), ): admin_themes.prune_unused_appearance_assets(settings) @@ -681,9 +674,6 @@ class WebAppAssetTests(unittest.IsolatedAsyncioTestCase): self.assertTrue((favicons / "aaaaaaaaaaaaaaaa").exists()) self.assertTrue((favicons / "bbbbbbbbbbbbbbbb").exists()) self.assertFalse((favicons / "cccccccccccccccc").exists()) - self.assertFalse((emoji / "1f929.512.gif").exists()) - self.assertFalse((emoji / "1f929.512.webp").exists()) - self.assertFalse((emoji / "1f525.512.gif").exists()) async def test_persist_appearance_upload_writes_overrides_and_clears_caches(self): settings = SimpleNamespace()