From 4ff2f0acf79edfd2e01c1d1efaf5d37d6886b223 Mon Sep 17 00:00:00 2001 From: ChuckBuilds Date: Wed, 9 Sep 2026 18:43:06 -0400 Subject: [PATCH] chore: ignore team logos fetched at runtime logo_downloader.py and LogoHelper write into assets/sports/_logos/ whenever a plugin meets a team whose logo is not on disk. Those directories are also tracked -- 209 NCAA logos and 153 soccer ones ship with the repo -- so every rig accumulates untracked files nobody intended to commit. This checkout had 62; hdpi shows the same. The cost is not the files, it is that a permanently dirty `git status` trains everyone to ignore the one signal that says a checkout is not what you think it is. That is how a stale tree sat unnoticed on a rig for hours until a restart surfaced four sports plugins that could no longer import. Ignoring a directory does not untrack what is already in it, so the logos that ship keep shipping -- verified: 209 and 153 still tracked, no deletions in the diff. Only new downloads are hidden. Adding a logo on purpose stays possible and is what the escape hatch in the comment documents. It is also rare: the last deliberate addition was #415, four named NCAA logos a plugin needed, and `git log` finds no other in a year. So the common case is noise and the rare case is explicit, which is the right way round. Untracked files: 62 -> 0. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_014RRtqXDCnvnY6EQwhT5CV9 --- .gitignore | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.gitignore b/.gitignore index fdfaa90b..641d7c44 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,25 @@ skin_renders/ # JS test deps (test/js) node_modules/ package-lock.json + +# Team logos fetched at runtime. +# +# src/logo_downloader.py and LogoHelper write into assets/sports/_logos/ +# whenever a plugin meets a team whose logo is not on disk. Those directories are +# also tracked -- 209 NCAA logos and 153 soccer ones ship with the repo -- so +# every rig accumulated untracked files it was never meant to commit and +# `git status` was permanently dirty. That noise is not harmless: it trains +# everyone to ignore the one signal that says a checkout is not what you think +# it is, which is how a stale tree sat unnoticed on a rig until a restart +# surfaced four dead sports plugins. +# +# Ignoring a directory does not untrack what is already in it, so the logos that +# ship keep shipping. Only new downloads are hidden. +# +# Adding a logo on purpose is rare and deliberate -- the last time was #415, four +# named NCAA logos a plugin needed, and there has been no other in a year. Do it +# with an explicit override: +# git add -f assets/sports/ncaa_logos/DUKE.png +assets/sports/*_logos/ +assets/stocks/ticker_icons/ +assets/stocks/crypto_icons/