Commit Graph
280 Commits
Author SHA1 Message Date
jwinterm 7b71f5dc9a feat: 'Prefer reduced motion' setting (accessibility / animation opt-out)
Config::reducedMotion (default false = playful animations ON). Surfaced as a
checkbox on first run (wizard PageMenu) and in Settings → Appearance —
unchecked by default, matching the OS 'Reduce Motion' convention. The mining
tab's AnimatedImages now freeze when it's set (MiningBackend exposes it to
mining.qml). Foundation for gating the ambient silliness to come.
2026-08-30 12:36:15 -04:00
jwinterm 93d13a6568 v5.0.3: harden embedded-node restart handling + version bump
On top of Lucas's #119 (--db-sync-mode safe):
- DaemonManager: age out the crash-retry budget (m_restarts) so legit node
  toggles/restarts don't trip "maximum retries exceeded" after ~4 spawns over a
  session; the cap now only bites a genuine rapid crash-loop.
- DaemonManager: clear the m_stopping latch on start(), so the crash auto-restart
  keeps working after the node has been toggled off then on (it was a one-shot
  before).
- bump version 5.0.2 -> 5.0.3.
2026-06-27 13:10:54 -04:00
Lucas 64326119eb Updated DaemonManager to ensure new blocks are
committed immediately by disabling LMDB batch write mode.
2026-06-26 21:57:42 +10:00
jwinterm 0d5d745311 v5.0.1: Windows QtQuick crash fix + node/Tor lifecycle overhaul
Windows crash chain (exposed by the embedded-node default):
- main.cpp: force the QtQuick software renderer. The Mining tab's QQuickWidget
  drove the default RHI/GL path and faulted (0xc0000005) on broken-GL hosts
  (VirtualBox VMSVGA), crashing the app and orphaning the embedded node.
  Real hardware was unaffected.
- ChildProcessGuard + DaemonManager/TorManager: kernel-level die-with-parent
  (Windows Job Object KILL_ON_JOB_CLOSE / Linux PR_SET_PDEATHSIG) so the
  embedded wownerod and bundled tor never survive a wowlet exit or crash.
- DaemonManager: verify-before-adopt via get_info (nettype/height) instead of
  trusting a bare open RPC port, so a stale/orphan node is never adopted.

Node/Tor lifecycle + remote-node connectivity:
- config: torPrivacyLevel default -> allTorExceptNode. NEVER sync blocks over
  Tor; the wallet's node connection is always clearnet. Tor is only for tx
  broadcast, so remote nodes work with or without Tor.
- nodes: add Nodes::reconnect() (clear failure blocklist + force reconnect);
  node/Tor toggle handlers use it so a transient outage no longer strands the
  wallet at "Disconnected".
- MainWindow/SettingsDialog: reconnect on node/Tor toggle and on the async
  daemonStateChanged (closes the start() race; a freshly-toggled local node
  connects immediately).
- TorManager: reset retry/unpack state in init() so a system<->bundled Tor
  re-toggle can start again; quiesce on stop(). Linux unpackBins() rework
  (mkpath + presence-based unpack + graceful return-false), getVersion() arg
  fix, and a missing-binary start guard.
- build.yml: derive TOR_VERSION from the embedded tor binary (a hardcoded
  bundle number made unpackBins rewrite Tor every launch).
- depends/funcs.mk: confine cross-cmake find_package to the depends sysroot so
  host -dev libraries don't leak into the build.
2026-06-23 17:45:39 -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 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 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 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 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 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 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
tobtoht 4ad4709fb5 Revert "plugins: remove Crowdfunding and Bounties"
partial revert, keep CCS for now
2025-11-12 15:25:16 +01:00
tobtoht a7f2ea5efb config: cleanup 2025-08-11 15:03:32 +02:00
наб 010bf8e23b Don't pretend to fall off the end of Nodes::useSocks5Proxy()
[334/404] Building CXX object src/CMakeFiles/feather.dir/utils/nodes.cpp.o
/home/nabijaczleweli/uwu/feather/src/utils/nodes.cpp:503:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
  503 | }
      | ^
1 warning generated.
2025-06-17 18:39:50 +02:00
tobtoht 4749d0903b plugins: remove mining 2025-05-16 11:58:42 +02:00
tobtoht 32ce43fc17 seed: use member variable not moved argument 2025-04-08 21:50:09 +02:00
tobtoht 82212f4982 cmake: remove feather-config.h 2025-03-27 11:28:33 +01:00
tobtoht ce95959c1d tails: write to persistent storage for system packages 2025-03-24 09:55:38 +01:00
tobtoht 249183f0c1 seed: check legacy checksum 2025-03-24 05:50:32 +01:00
tobtoht 897afaaabb remove prestium integration 2025-03-18 15:31:05 +01:00
tobtoht 2a9af40ece Tails: persist desktop entry 2025-03-18 13:53:19 +01:00
tobtoht bb1015731f settings: add option to minimize to tray 2025-03-04 15:31:34 +01:00
tobtoht e55afe9429 always display restore dates next to restore heights 2025-03-04 14:54:04 +01:00
tobtoht e7a6e4f16a balance: add fiat balance 2025-03-04 11:01:17 +01:00
tobtoht 88ab38a193 settings: add option to hide tray icon 2025-03-04 10:09:25 +01:00
tobtoht e66886832a config: remove melo.tools block explorer 2025-02-21 12:54:04 +01:00
tobtoht 13daf73c03 build: set -DOFFICIAL_BUILD 2025-02-21 10:07:59 +01:00
tobtoht 7992d7be9b macos: fix Tor startup 2025-02-21 08:57:11 +01:00
tobtoht dff4752e82 update copyright for 2025 2025-02-20 18:52:03 +01:00
Soren Stoutner 765bdb1f2c Fix typos. 2024-11-11 17:34:56 -07:00
tobtoht 849269f53f wizard: don't add space if there is already one, never insert tab 2024-10-14 23:56:11 +02:00
tobtoht 52546c5660 updater: fix status text 2024-10-09 19:14:59 +02:00
tobtoht da0d7e7100 settings: add option to show fiat balance in statusbar 2024-10-04 16:08:51 +02:00
tobtoht 8ab420b802 cleanup includes 2024-10-01 22:17:54 +02:00
tobtoht a1836a64b2 websocket: cleanup before quit 2024-10-01 16:36:47 +02:00
tobtoht 37aa04e3e5 firehose application shutdown 2024-10-01 05:45:21 +02:00
tobtoht bff194a211 node: consider .local tld local 2024-09-19 14:01:19 +02:00
tobtoht c2701c00dd plugins: remove reddit 2024-05-07 21:45:57 +02:00
tobtoht 8d814a16b3 plugins: remove localmonero
Thank you Alex for all you've done for the community over the years.
2024-05-07 21:32:08 +02:00
tobtoht 478248f99c updater: fix button focus 2024-05-03 17:30:40 +02:00