fix: Windows identity, async address creation, mining UI, and chart artifacts

Windows identity:
- Add VERSIONINFO resource (.rc) with ObsidianDragon file description
- Embed application manifest for DPI awareness and shell identity
- Patch libwinpthread/libpthread to remove competing VERSIONINFO
- Set AppUserModelID and HWND property store to override Task Manager cache
- Link patched pthread libs to eliminate "POSIX WinThreads" description

Address creation (+New button):
- Move z_getnewaddress/getnewaddress off UI thread to async worker
- Inject new address into state immediately for instant UI selection
- Trigger background refresh for balance updates

Mining tab:
- Add pool mining dropdown with saved URLs/workers and bookmarks
- Add solo mining log panel from daemon output with chart/log toggle
- Fix toggle button cursor (render after InputTextMultiline)
- Auto-restart miner on pool config change
- Migrate default pool URL to include stratum port

Transactions:
- Sort pending (0-conf) transactions to top of history
- Fall back to timereceived when timestamp is missing

Shutdown:
- Replace blocking sleep_for calls with 100ms polling loops
- Check shutting_down_ flag throughout daemon restart/bootstrap flows
- Reduce daemon stop timeout from 30s to 10s

Other:
- Fix market chart fill artifact (single concave polygon vs per-segment quads)
- Add bootstrap checksum verification state display
- Rename daemon client identifier to ObsidianDragon
This commit is contained in:
dan_s
2026-03-05 22:43:27 -06:00
parent 4b16a2a2c4
commit 653a90de62
20 changed files with 842 additions and 116 deletions

View File

@@ -766,7 +766,7 @@ control-card-min-height = { size = 60.0 }
active-cell-border-thickness = { size = 1.5 }
cell-border-thickness = { size = 1.0 }
button-icon-y-ratio = { size = 0.42 }
button-label-y-ratio = { size = 0.78 }
button-label-y-ratio = { size = 0.72 }
chart-line-thickness = { size = 1.5 }
details-card-min-height = { size = 50.0 }
ram-bar = { height = 6.0, rounding = 3.0, opacity = 0.65 }
@@ -808,6 +808,7 @@ dir-pill-padding = { size = 4.0 }
dir-pill-y-offset = { size = 1.0 }
dir-pill-y-bottom = { size = 3.0 }
dir-pill-rounding = { size = 3.0 }
seed-badge-padding = { size = 3.0 }
tls-badge-min-width = { size = 20.0 }
tls-badge-width = { size = 28.0 }
tls-badge-rounding = { size = 3.0 }