Commit Graph
46 Commits
Author SHA1 Message Date
jwinterm 95a0fa3a3c depends(native_qt): keep testlib enabled so the host builds qmltestrunner
Cross qtdeclarative builds tools/qmltestrunner (QtQuickTest, needs testlib) and demands a matching HOST tool; the host's -no-feature-testlib left it without one, failing 'Configuring qtdeclarative' with 'Failed to find host tool Qt6::qmltestrunner'.
2026-06-20 16:38:28 -04:00
jwinterm 6a1fc084c2 ci(windows): -j2 + 10G swap so the static Qt6 depends build fits 16G RAM
Disk fix let it run 50min (vs ~10min) before the runner lost communication again -> OOM during the parallel Qt6 compile, not disk. Drop both builds to -j2 and add a 10G swapfile for headroom. Slower but should complete + cache depends for fast future runs.
2026-06-20 15:11:26 -04:00
jwinterm 6cc92a5bc4 ci(windows): drop container + free disk so the depends build fits the runner
First run was killed mid depends build (runner lost communication = CPU/Memory/disk starvation). Inside a container we cannot reclaim the runner's pre-installed bloat, leaving the static-Qt6 build only ~14G. Run on ubuntu-latest directly, free ~25G (dotnet/android/ghc/CodeQL), sudo the apt steps.
2026-06-20 14:43:39 -04:00
jwinterm 626d1a6ab7 ci: add Windows x86_64 cross-build job (mingw depends)
Builds wowlet.exe via contrib/depends (static Qt6 + tor), embeds wownerod.exe from the wownero mingw release, packages a .zip. Caches the depends tree so only the first run pays the ~1h toolchain cost. Tor shipped loose next to the exe (TOR_INSTALLED).
2026-06-20 13:41:48 -04:00
jwinterm 3d1424869d wowlet: clearer Tor status for external Tor + lift mining stats into the dark bar
- TorInfoDialog: when wowlet reuses an already-running external/system Tor (isLocalTor), show 'Connected (using external Tor)' instead of the misleading 'Not running'.

- mining.qml: raise + tighten the Block Height / Sync Progress block so it sits in the dark header bar instead of clipping the scene art (first pass, may need a small tweak).
2026-06-20 12:09:43 -04:00
jwinterm 83a4582266 wowlet: fix tx-proxy port, add configurable node data-dir, mining sync hint
- DaemonManager --tx-proxy now uses the Tor that is actually running (torManager()->isLocalTor()) instead of the stored useLocalTor preference, which selected the wrong SOCKS port (managed 19450 vs system 9050) and silently stalled outbound tx broadcasts.

- Embedded node: nodeDataDir setting points wownerod at an existing chain (e.g. ~/.wownero) to skip a full re-sync; empty keeps the managed isolated default.

- mining.qml: tell the user mining waits until the node is synced.
2026-06-20 08:58:47 -04:00
jwinterm cae730ff27 ci: bundle Tor in the wowlet AppImage (embed tor binary + libs)
So wowlet works for users without a system Tor. The build fetches the
tor-expert-bundle (linux x86_64), patchelfs the tor binary + its libs to
$ORIGIN, and passes -DTOR_DIR/-DTOR_VERSION so cmake embeds them into
:/assets/tor and sets HAS_TOR_BIN=1. wowlet then extracts + manages its own
Tor daemon -> remote node connections route over Tor out of the box.
2026-06-20 06:23:04 -04:00
jwinterm 35af2db2ef wowlet: keep wownero clearnet nodes usable in Tor mode (fix empty remote-node list)
feather's websocket-node filter drops every non-onion node once the Tor privacy
level flips to onion-preferred (after initial sync) — it assumes an onion node
ecosystem. wownero's public nodes are clearnet, so the Settings list went empty
and autoConnect had nothing eligible -> Disconnected. Keep clearnet nodes
eligible in every proxy mode (routed over Tor's SOCKS proxy when Tor is on, so
still private); only hide onion/i2p nodes when their anonymity mode isn't active.
2026-06-20 06:05:47 -04:00
jwinterm ea22d5dbe4 wowlet: pull the live remote-node list from wownero.org/nodes
The feather websocket is disabled (no WOW backend); replace it with a Tor-routed
HTTP poll of https://wownero.org/nodes/api/nodes/wallet (the live, health-checked
node-map feed). Builds the managed node list from the feed's plain-http nodes
(skips SSL-only nodes feather can't reach), falls back to the bundled nodes.json
if the feed is unreachable, refreshes hourly. So users who don't run a local node
get a fresh, working remote-node list instead of a stale hardcoded one.
2026-06-19 22:02:53 -04:00
jwinterm 4d5805a75c wowlet: fix remote-node connect when the built-in node is off. (1) nodes.cpp loadConfig: when the websocket discovery is disabled, ignore the cached ws node list (stale / polluted with monero nodes from an early build) and use the bundled wownero list. (2) nodes.json: managed clearnet list -> the 4 current healthy wownero nodes (node2/node3.monerodevs.org, spippolatori.it, wownerod.foolsump.com) 2026-06-19 16:39:59 -04:00
jwinterm 3eab1e14fa wowlet: first-run 'be your own node' welcome + deferred startup + non-blocking node toggle. On first launch a welcome dialog lets the user choose own-node vs remote BEFORE any node starts (gated on firstRun; later launches use the saved choice); node start moved past it in WindowManager. Settings toggle now stops wownerod non-blocking (no UI freeze while it flushes LMDB). Copy: 'many recommended', no em-dash 2026-06-19 16:02:17 -04:00
jwinterm 487875ee9e wowlet: local/remote node toggle in Settings -> Network. Checkbox 'Run your own Wownero node (much recommended)' + doge-y copy on privacy/network-health; toggling live-starts/stops the embedded wownerod and reconnects (autoConnect honours runLocalNode: local when on, chosen remote when off); remote list greys out while the built-in node is active 2026-06-19 14:53:42 -04:00
jwinterm 527bcfae57 wowlet: wownero loose-string sweep + P0 send fix. Bump monero submodule -> gui@1ed9d64c (drops feather's monero-checkpoint check_rct_distribution() that made every send throw 'Output distribution size too small'). feather-src: local-node probe + wizard port 18081->34568 (Utils.cpp getDefaultRpcPort, PageNetwork.ui); confirmationsRequired + lock display 10->4 = wownero spendable age (TransactionRow, TxInfoDialog, BalanceDialog, SendWidget); amount precision 12->11 (config, SettingsDialog); tx-pool backlog x2->x5 (5-min blocks); revuo + CCS off default plugins 2026-06-19 14:10:58 -04:00
jwinterm 8686e9bfe8 fix: vanishing balance — RestoreHeightLookup used monero block time (120s/720-per-day) to extrapolate the date->height table past 2023, computing restore heights ~400k blocks INTO THE FUTURE for 2026 wallets. Restore height > chain tip => wallet skips output-scan on every real block => received funds never recorded (pool scan unaffected, hence pool-shows-then-vanishes). Use wownero 300s/288-per-day. Also: block explorers -> explore.wownero.com / explore.wowne.ro 2026-06-19 10:08:46 -04:00
jwinterm 519187b8a1 depends: build qtdeclarative (Qt Quick/QML) in cross + host Qt — required for the mining tab on every depends cross-target (upstream Feather is widgets-only; native build only worked via distro QML) 2026-06-19 08:30:28 -04:00
jwinterm 35628cc5d8 wowlet: mining tab uptime — anchor start-time on mining transition, emit HH:MM:SS via uptimeChanged (was never emitted → stuck at '-') 2026-06-19 08:30:28 -04:00
jwinterm 0544837cff fix: white mining tab — remove vestigial 'import QtQuick.Controls' (eagerly registers Calendar singleton → QtQuick.Templates plugin missing → whole QML fails to load). Also make QML bundling complete: blanket-copy QtQuick/QtQml trees + ldd-resolve plugin .so lib deps into usr/lib, guard against re-adding Controls 2026-06-19 07:41:03 -04:00
jwinterm be3de5a4ce fix: bundle QtQml.WorkerScript in AppImage — qmlimportscanner skips qmldir transitive 'depends', so copy QtQml tree in explicitly between linuxdeploy populate + appimagetool package 2026-06-19 07:04:38 -04:00
jwinterm 43f7cc4e7a fix: SIGILL on launch — pin -DARCH=x86-64 for the Linux build instead of wownero's default ARCH=native (CI runner CPU baked in instructions older user CPUs lack) 2026-06-18 20:50:18 -04:00
jwinterm feeafbfdce wowlet: broadcast txs over Tor via wownerod --tx-proxy (gated on HAS_TOR_BIN; Config::broadcastOverTor default on) — hides tx origin IP, complements embedded-node receive privacy; activates when Tor is bundled (depends build) 2026-06-18 20:34:14 -04:00
jwinterm bf2d4e39bf wowlet: fix white mining tab — AppImage now bundles QtQuick QML modules (apt qml6-module-*, QML_SOURCES_PATHS for linuxdeploy-plugin-qt) + tls backend for HTTPS prices; QML cleanup (variant→var, child-id ref) 2026-06-18 20:22:01 -04:00
jwinterm 75fba57fc5 wowlet: About dialog — codeberg.org/wownero/wowlet, Telegram (t.me/wownero), Matrix (#wownero-gen:wowne.ro) 2026-06-18 20:00:44 -04:00
jwinterm 1aa34f0d75 wowlet: fix mining-tab white screen (root anchors.fill→size), visible radio selectors (wow.qss :/wow/→:/dark/), wizard+window titles, debrand live strings (tray/tor/webcam), About+website URLs→wownero, config dir →wowlet (also fixes stale Monero wallet dir) 2026-06-18 19:50:55 -04:00
jwinterm 421f57832c wowlet: fix mining-tab QQuickItem connect; wizard overhaul — skip first-run node-picker (embedded node default), disable feather-server websocket 2026-06-18 19:13:18 -04:00
jwinterm 341be7f7e4 fix: mining methods are on WalletManager not Wallet — delegate + setDaemonAddress to embedded node (fixes red builds) 2026-06-18 18:59:27 -04:00
jwinterm e0c06d6526 wowlet: pixel-art mining tab — port mining.qml (Qt6) + 25 assets, MiningWidget/MiningBackend hosting QQuickWidget, wired to embedded-node solo miner (hashrate/sync feedback); adds Qt6 Quick 2026-06-18 18:51:05 -04:00
jwinterm ccd53f59af wowlet: branding sweep — XMR→WOW, title/dir, .ui+wizard text Feather→wowlet/Monero→Wownero, flip+recolor sidebar (M→W, pink/yellow) 2026-06-18 18:27:28 -04:00
jwinterm 640a478b1b wowlet: solo-mining toggle — Wallet startMining/stopMining (RandomWOW via embedded node) + Wallet-menu action 2026-06-18 17:06:06 -04:00
jwinterm 5206dbdf8a ci: package wowlet as a portable Linux AppImage (linuxdeploy + qt; bundles Qt6, node already embedded) 2026-06-18 16:47:37 -04:00
jwinterm 28c04e8e6a ci: upload wowlet binary as artifact (downloadable from the run) 2026-06-18 16:43:02 -04:00
jwinterm 15a9a4ba20 ci: embed wownerod into wowlet (single-file build) — download release wownerod, pass WOWNEROD_DIR 2026-06-18 11:20:59 -04:00
jwinterm 3e9743a9c4 wowlet: embed wownerod (WOWNEROD_DIR, mirrors Feather's Tor embedding) — single self-contained binary; DaemonManager unpacks it 2026-06-18 11:16:13 -04:00
jwinterm d03fe4994d wowlet: wallet connects to the embedded local node by default (Nodes::autoConnect) 2026-06-18 08:28:15 -04:00
jwinterm e9ecb63a9b wowlet: embedded wownerod DaemonManager (modeled on TorManager) — spawn/monitor/graceful-stop, run-own-node default 2026-06-18 08:23:02 -04:00
jwinterm 22553065e3 wowlet: wownero mainnet restore heights (correct wallet restore scan start) 2026-06-18 08:01:59 -04:00
jwinterm c343ffcc55 wowlet: WOW/USD price feed from neroswap (HTTP poll); fix fiat conversion to use WOW not XMR 2026-06-18 07:45:54 -04:00
jwinterm 6df43ad49b wowlet: add wownero (wow.qss) skin, default to it 2026-06-18 07:30:02 -04:00
jwinterm 8f548b0d82 wowlet: app icon (wowlet logo) + wownero default nodes 2026-06-18 07:26:46 -04:00
jwinterm 84d7476d5c wowlet: rebrand identity + wownero coin constants (name=wowlet, 11 decimals, ring 22/mixin 21) 2026-06-18 07:09:38 -04:00
jwinterm 3c5c11cd17 wowlet: bump wownero submodule (anti-AV namespace rename under BUILD_GUI_DEPS) 2026-06-18 06:41:36 -04:00
jwinterm 1481f55759 wowlet: bump wownero submodule (C++17 standard for feather wallet std::optional) 2026-06-18 06:15:49 -04:00
jwinterm be653d70a9 wowlet: provide libzmq (wownero net links it) + revert zmq gate; bump submodule 2026-06-18 06:05:02 -04:00
jwinterm 530abfe7c6 wowlet: bump wownero submodule (gate zmq requirement behind BUILD_GUI_DEPS) 2026-06-18 05:58:26 -04:00
jwinterm 5633f8a0f6 ci: add workflow_dispatch for manual iteration 2026-06-18 05:51:11 -04:00
jwinterm 49ce399264 ci: ubuntu-only build for wownero-rebase bring-up (restore full matrix when green) 2026-06-18 05:49:00 -04:00
jwinterm 74f7e5fb30 wowlet: point monero submodule at wownero gui branch (wownero consensus + feather wallet) 2026-06-18 05:44:02 -04:00