mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
The About screen has been showing Cake Wallet's app icon, and the receive QR page — the screen a user screenshots to get paid — has been showing Cake's wordmark. In CI builds only, which is why nobody caught it. compile_graphics.sh compiles res/pictures/*.svg into assets/new-ui/*.svg.vec, and every platform workflow runs it. That makes res/pictures the source and assets/new-ui the output. The August de-cake pass replaced three files under assets/new-ui and left res/pictures untouched, so each CI build faithfully recompiled Cake's artwork straight over the top of ours. Locally it looked right, because locally nobody re-runs the compiler. Three files, all of them branding: hash_squircle_icon.svg, hash-wordmark.svg, hash-wordmark-light.svg. The sources are now the Hash Bags artwork, so the compiler produces what the filenames have claimed since August. This is the third time somebody else's artwork has reached users through this repo, and the second time an audit missed it, so it gets a test rather than another careful look: any SVG present in both res/pictures and assets/new-ui must be byte-identical. Drift means a hand-edit that the next CI build will silently revert. The test also asserts it compared something, because a silent zero is how the previous two got through. AGENTS.md has had the rule the whole time: generated files are never hand-edited, fix the source and regenerate. The trap here is that the generated copies sit beside the sources under identical names, and the ones the Dart code references are the generated ones.
674 B
674 B