fix(brand): stop shipping Cake artwork, and 1.0.3+13

Audit of every surface that could show somebody else's logo. Most of it was
already ours: the transaction success screen draws hash_bag.png and the
hashbag_sym_* glyphs, cake_logo_light/dark.svg and the Android icon set were
redrawn from the Hash Bags mark in May and only kept their old filenames, no
user-visible string contains "Cake", and every cupcake reference is a
HardwareWalletType icon sitting next to Ledger and Trezor, which is interop
rather than branding.

Two places were not ours.

The Flatpak manifest installed cakewallet_icon_180.png as the Linux desktop
icon, and that file is upstream Cake artwork from 2025 that the rebrand never
touched. So the Linux build has been shipping a Cake Wallet icon. It now uses
the Hash Bags mark. The macOS icon script had the same fault, latent only
because no workflow builds macOS; it gets a proper Hash Bags set at all seven
sizes rather than a landmine for whoever turns that build on.

Deleted the Cake artwork nothing needs: cake_logo.png, cakepay.png, the three
cakewallet_icon_* files and the macOS set. assets/images/ is bundled whole, so
unreferenced files were shipping inside the binary regardless of whether any
code could draw them.

Also fixes a bug the audit turned up rather than a branding one. The theme
picker chose its preview icon by matching theme.title, which is built from the
accent colour's display name, so renaming an accent silently changed the icon.
It had: the list still named Cake Primary, Tron Red and Frosting Purple, none
of which ship, while our own Such Pink and Such Blue were absent and fell
through to the plain dark icon. It asks the theme what it is now, not what it
is called.

Version to 1.0.3+13. pubspec_description.yaml is the single source for all five
platforms; the checked-in pubspec.yaml is a build artifact.

Still there, reported not removed: cake_pay_icon.png, reachable only through
the Cake Pay order provider, which is the only provider, has an empty API key
and cannot produce an order in this app. Removing it means removing the orders
feature, which is not a branding change.
This commit is contained in:
jwinterm
2026-09-18 19:45:17 -04:00
parent 75a7193da6
commit 0697f41c7e
23 changed files with 21 additions and 25 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

+2 -2
View File
@@ -21,13 +21,13 @@ modules:
- "mkdir -p /app/bin" - "mkdir -p /app/bin"
- "ln -s /app/hash_wallet/hash_wallet /app/bin/hash_wallet" - "ln -s /app/hash_wallet/hash_wallet /app/bin/hash_wallet"
- "mkdir -p /app/share/icons/hicolor/scalable/apps" - "mkdir -p /app/share/icons/hicolor/scalable/apps"
- "cp cakewallet_icon_180.png /app/share/icons/hicolor/scalable/apps/com.suchsoftware.HashWallet.png" - "cp cakewallet_logo.png /app/share/icons/hicolor/scalable/apps/com.suchsoftware.HashWallet.png"
- "mkdir -p /app/share/applications" - "mkdir -p /app/share/applications"
- "cp com.suchsoftware.HashWallet.desktop /app/share/applications" - "cp com.suchsoftware.HashWallet.desktop /app/share/applications"
sources: sources:
- type: dir - type: dir
path: build/linux/x64/release path: build/linux/x64/release
- type: file - type: file
path: assets/images/cakewallet_icon_180.png path: assets/images/cakewallet_logo.png
- type: file - type: file
path: linux/com.suchsoftware.HashWallet.desktop path: linux/com.suchsoftware.HashWallet.desktop
@@ -249,21 +249,17 @@ abstract class DisplaySettingsViewModelBase with Store {
@action @action
void setBackgroundImage(String path) => _settingsStore.backgroundImage = path; void setBackgroundImage(String path) => _settingsStore.backgroundImage = path;
/// Preview icon for the theme picker.
///
/// This matched on `theme.title`, which is built from the accent colour's
/// display name, so renaming an accent silently changed which icon a theme
/// got. It did: the list still named Cake Primary, Tron Red and Frosting
/// Purple, none of which ship any more, while Such Pink and Such Blue were
/// absent and fell through to the plain dark icon. Ask the theme what it is
/// instead of what it is called.
String getImageForTheme(MaterialThemeBase theme) { String getImageForTheme(MaterialThemeBase theme) {
switch (theme.title) { if (theme is BlackTheme) return 'assets/new-ui/black_accent.svg';
case 'Dark Theme': if (theme.type == ThemeType.light) return 'assets/new-ui/light.svg';
return 'assets/new-ui/dark.svg'; return 'assets/new-ui/dark.svg';
case 'Light Theme':
return 'assets/new-ui/light.svg';
case 'Black Theme (Cake Primary)':
case 'Black Theme (BCH Green)':
case 'Black Theme (Bitcoin Yellow)':
case 'Black Theme (Monero Orange)':
case 'Black Theme (Tron Red)':
case 'Black Theme (Frosting Purple)':
return 'assets/new-ui/black_accent.svg';
default:
return 'assets/new-ui/dark.svg';
}
} }
} }
+1 -1
View File
@@ -1,6 +1,6 @@
name: hash_wallet name: hash_wallet
description: Hash Bags — a noncustodial multi-currency wallet by Such Software LLC. description: Hash Bags — a noncustodial multi-currency wallet by Such Software LLC.
version: 1.0.2+12 version: 1.0.3+13
publish_to: none publish_to: none
environment: environment:
+7 -7
View File
@@ -18,13 +18,13 @@ case $APP_MACOS_TYPE in
ICON_512_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_512.png ICON_512_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_512.png
ICON_1024_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_1024.png;; ICON_1024_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_1024.png;;
"cakewallet") "cakewallet")
ICON_16_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_16.png ICON_16_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_16.png
ICON_32_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_32.png ICON_32_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_32.png
ICON_64_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_64.png ICON_64_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_64.png
ICON_128_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_128.png ICON_128_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_128.png
ICON_256_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_256.png ICON_256_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_256.png
ICON_512_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_512.png ICON_512_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_512.png
ICON_1024_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_1024.png;; ICON_1024_PATH=`pwd`/../../assets/images/macos_icons/hashbags_macos_icons/hashbags_macos_1024.png;;
esac esac
rm $DEST_DIR_PATH/app_icon_16.png rm $DEST_DIR_PATH/app_icon_16.png