forked from github-such-software/hash-wallet
dev #37
Reference in New Issue
Block a user
Delete Branch "github-such-software/hash-wallet:dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue Number (if Applicable): Fixes #
Description
Please include a summary of the changes and which issue is fixed / feature is added.
Pull Request - Checklist
Self-hosted Windows runner builds an unsigned Windows Release zip with the Flutter .exe + bundled monero/wownero DLLs + MinGW runtime DLLs + MSVC runtime DLLs. workflow_dispatch only — triggered from the Gitea Actions UI. Major design points hammered out during initial bring-up: - Use explicit Git Bash path for `shell:` rather than `shell: bash`, since act_runner under LocalSystem resolves bare `bash` to C:\Windows\System32\bash.exe (WSL) which refuses to run as LocalSystem. - Configure git identity + safe.directory before any submodule ops, since LocalSystem has no global git config and scripts/monero_c/ apply_patches.sh does git-commit-equivalents. - Clone torch_dart + reown_flutter from git instead of tarball — the upstream-published .tar.gz tarballs contain example-app .plugin_symlinks with absolute /home/runner paths that Windows tar refuses to extract. - Fetch monero_c prebuilt release-bundle.zip (same one Android/iOS use) and re-stage its x86_64-w64-mingw32 wallet DLLs into the layout that windows/CMakeLists.txt expects: scripts/monero_c/release/<coin>/x86_64-w64-mingw32_libwallet2_api_c.dll CMake's install() rules RENAME them to <coin>_libwallet2_api_c.dll in the Release dir. - Mirror those wallet DLLs under their lib<coin>_wallet2_api_c.dll Dart-FFI-expected names — package:monero's DynamicLibrary.open() uses a different naming convention than windows/CMakeLists.txt's RENAME rules. - Source MinGW runtime DLLs (libssp-0.dll, libwinpthread-1.dll) from Git for Windows' bundled mingw64/bin — has modern symbols including pthread_cond_timedwait64 that monero_c requires. Flutter's bundled mingit is too old (2017-vintage libwinpthread). setup-windows-runner.ps1 (the one-shot toolchain installer for the runner host) is gitignored — it's runner-side infra, not part of the app.Cake Wallet → Hash Bags / Such Software LLC across the user-facing platform configs: - macos/Runner/InfoBase.plist: CFBundleDisplayName + CFBundleName - windows/runner/main.cpp: top-level window title - ios/Runner/InfoBase.plist: URL scheme cakewallet → hashbags, CFBundleURLName y.at → com.suchsoftware.hashwallet - android/app/src/main/AndroidManifestBase.xml: URL scheme - scripts/windows/build_exe_installer.iss: full rebrand (name, publisher, URL, exe name, AppId, DefaultDirName, output filename) - assets/text/disclaimer_deuro.txt: legal disclaimer text Version unification → 1.0.0 build 1 across all platforms: - pubspec_description.yaml (was 0.0.0, description was "Cake Wallet.") - scripts/android/app_env.sh (was 6.1.2 build 4410) - scripts/ios/app_env.sh (was 6.1.2 build 418) - scripts/macos/app_env.sh (was 6.1.0 build 147) - scripts/windows/build_exe_installer.iss (was 6.1.0) env.json (Windows) was already 1.0.0. FAQ contact info → support@such.software / @such_software across all 13 locale faq_*.json files (was support@cakewallet.com / @CakeWalletXMR / @cakewallet_bot). Node lists: - Delete assets/zano_node_list.yml — Zano not enabled in any configure flag; file was dead code. - Remove zcashDefaultNodeUri const from lib/entities/default_settings_migration.dart — Zcash not in product, const was unreferenced anywhere. Note on BTC + LTC defaults: audit suggested these were Cake-by-default but they were already non-Cake (blockstream and electrum-ltc.bysh.me). Cake stays in the auto-switch pool — flagged for separate decision on whether to disable auto-switching to Cake nodes for privacy.User flagged the Windows .exe icon as having the hash sign visually biased toward the top. Root cause: the previous icon source SVG used <text> with dominant-baseline="central" — the rasterizer fell back to whatever monospaced font it found, and that font's # glyph isn't positioned at the geometric center of its em-box (most monospaced fonts have the # mark biased upward in their em-square). Replace the text-rendered # with 4 vector <line> elements forming a mathematically symmetric # centered at (512, 512) of the 1024 canvas. No font dependency, deterministic across rasterizers. Re-rendered: - assets/images/app_logo.png — master 1024x1024 PNG - windows/runner/resources/app_icon.ico — 7-size .ico (16..256) - assets/images/cakewallet_android_icon/mipmap-*/ic_launcher.png (5 densities, the legacy launcher PNG; CI symlinks from here) NOT regenerated in this commit (follow-up): - assets/images/cakewallet_android_icon/mipmap-*/ic_launcher_{foreground,background,monochrome}.png (adaptive icons used on Android 8+ — need separate foreground/ background composition logic) - assets/images/ios_icons/cakewallet_ios_icons/* (70 files) - assets/images/macos_icons/cakewallet_macos_icons/* (7 files)Replaced upstream Cake brand references in user-visible ARB *values* (keys untouched, so generated S.current.<key> references still work): - "Cake 2FA" → "Hash Bags 2FA" - "Cake Pay" → "Hash Bags Pay" (still gated off via FeatureFlag.isCakePayEnabled = false; rebranding the string so it doesn't ship literal "Cake" copy if the flag ever flips) - "Cake Wallet" → "Hash Bags" - "Cake Labs" → "Such Software" - "by Cake Pay" → "by Hash Bags Pay" - "cakewallet.com" → "such.software" English-only adjustments (other locales had their own translations): - new_first_wallet_text "Keeping your crypto safe is a piece of cake" → "Keeping your crypto safe shouldn't be hard" (drops the Cake pun, which now reads odd post-rename) - outdated_electrum_wallet_description + _receive_warning rewritten to Hash-Bags-neutral phrasing: "Hash Bags now uses Electrum V2 wallets. Bitcoin wallets created in older builds need to be replaced; receiving to old wallets may lose funds." Same Hash-Bags- neutral rewrite propagated to all locales that had a translated version of the original Cake-Electrum-V2 message. Deliberately not touched: - ARB *keys* (cake_2fa_preset, cake_pay_*, cakepay_*, disable_cake_2fa, etc.) — keys must stay stable so generated S.current.x references keep resolving. - "Cupcake" / "cupcake" — a separate companion app referenced in restore_*_from_cupcake strings, not part of the Cake brand we're rebranding from. - Internal Dart identifiers like CakeImageWidget class name. Also fixed hardcoded titles in lib/src/screens/setup_2fa/setup_2fa.dart: - Line 18: title 'Cake 2FA' → 'Hash Bags 2FA' - Line 22: cake2FAGuideTitle 'Cake 2FA Guide' → 'Hash Bags 2FA Guide' (Local variable name cake2FAGuideTitle kept as-is — it's a code identifier, not user-visible.) 33 files touched: 31 ARBs (ar, bg, cs, de, en, es, fa, fr, gn, ha, hi, hr, hy, id, it, ja, ko, my, nl, pl, pt, pt_BR, ru, th, tl, tr, uk, ur, vi, yo, zh, zh_tw) + lib/src/screens/setup_2fa/setup_2fa.dart.Pull request closed