Commit graph

625 commits

Author SHA1 Message Date
Louis-Marie Baer
9f91f88689 feat: optmize console output to render only what is visible
egui TextEdit::multiligne will render everything. Use show_rows insteead of show_viewport for AreaScroll to fix this.
2024-03-23 16:41:29 +01:00
Louis-Marie Baer
baef329606 feat: merge from upstream 2024-03-22 11:17:09 +01:00
Louis-Marie Baer
92e5f88314 fix: Benchmarks table, incorrect header visual when scrolling.
Use the newer widget Table from egui_extra. Wrap it into a AreaScroll to get horizontal scrolling.
2024-03-22 08:02:36 +01:00
Louis-Marie Baer
46486b5364 fix: Benchmarks submenu, fix Ui and big optimization for table.
fix: do not render all the rows, only the ones visibles.
2024-03-22 00:01:44 +01:00
Louis-Marie Baer
7797b5e81d fix: limit height XvB in submenu Process of P2pool Tab 2024-03-21 22:08:11 +01:00
Louis-Marie Baer
135de3d556 fix: all clippy warnings 2024-03-21 19:35:02 +01:00
Louis-Marie Baer
0f67fe7a08 fix: Ui overlapping for small screen 2024-03-21 12:27:52 +01:00
Louis-Marie Baer
4f13862136 fix: Ui bottom overlapp for minimum width of 640px 2024-03-21 06:32:46 +01:00
Louis-Marie Baer
50aa8402bc fix: dupplicate helper 2024-03-19 16:03:07 +01:00
Louis-Marie Baer
2f4816cd27 feat: add timestamp to console ouput XvB
fix: move code for output on console to a single function.
2024-03-19 15:43:13 +01:00
Louis-Marie Baer
a120a8a2b7 feat: modify description of Hero Mode. 2024-03-19 13:17:47 +01:00
Louis-Marie Baer
05d4a1141f fix: XvB tab fix UI overlapping, better placement of widget. 2024-03-19 13:16:34 +01:00
hinto.janai
6ad66d16fb
v1.3.6
updates `egui/eframe` -> `0.24.1` -> `0.26.2`

fixes non-responding nodes not being sorted correctly by ping ms
2024-03-18 18:05:02 -04:00
hinto.janai
ba386eaad2
update cpu.json 2024-03-18 16:49:47 -04:00
Louis-Marie Baer
255c183c10 fix: add better output if no share and fix printing European Node 2024-03-18 13:28:44 +01:00
Louis-Marie Baer
cb48040fef feat: output of console info about algorithm and node selection
fix: HR symbol private stats (subject to change)
feat: output to XvB tab console information for algorithm decision
feat: output to XvB tab console information for node selection
feat: maj TODO
2024-03-18 12:31:37 +01:00
Louis-Marie Baer
cfb6d0971c feat: manage selection and fallback nodes of XvB
feat: ping, select nodes of XvB process
feat: reload config of xmrig to fallback to backup node
fix: status of xmrig node used in real time
feat: src readme technical differences with upstream
2024-03-18 11:29:11 +01:00
Louis-Marie Baer
74c6a92535 feat: integrate algorithm of HR distribution 2024-03-17 01:22:44 +01:00
Louis-Marie Baer
87eb738ca8 feat: enable xmrig with remote control and token, generate token 2024-03-16 16:46:46 +01:00
Louis-Marie Baer
66417b3b0b fix: XvB process start perf
fix: create client in thread instead of before it
2024-03-16 13:35:09 +01:00
Louis-Marie Baer
89ef45a5ac fix: test 2024-03-16 11:05:59 +01:00
Louis-Marie Baer
8abd55799a fix: use client only once 2024-03-15 23:37:43 +01:00
Louis-Marie Baer
316ccf4acc fix: simplify XvB tab panels 2024-03-15 23:18:01 +01:00
Louis-Marie Baer
9d163ae85e feat: finish XvB Tab with private stats and better log output
fix: color code status
feat: reload automaticcly XvB process if p2pool is off/online
feat: add all 5 private stat in a pretty way outside of console
feat: begin to use readable to replace human.rs
feat: function to verify if share is in current window
feat: maj TODO

feat: Maj TODO
2024-03-15 21:48:04 +01:00
Louis-Marie Baer
c7f0785d95 feat: XvB Tab, add link to rules 2024-03-15 00:34:58 +01:00
Louis-Marie Baer
066fd5bda5 feat: add tab XvB option to Gupax Tab selector 2024-03-15 00:20:59 +01:00
Louis-Marie Baer
0a9375130f feat: construct XvB tab
feat: add Hero checkbox ui and hovering help
feat: add private stats ui and thread
feat: debug error of API connection in console
2024-03-14 23:40:47 +01:00
hinto.janai
7672901bbb
node: remove moneronode.ddns.net 2024-03-13 16:56:08 -04:00
Louis-Marie Baer
f2d0c9a288 feat: warn user in XvB tab if no address is set in P2pool Tab 2024-03-13 10:02:50 +01:00
Louis-Marie Baer
340ee45f47 fix: simplify args of some functions
fix: Use Vec2 instead of two args height and width for p2pool tab simple and advanced
2024-03-13 10:02:21 +01:00
Louis-Marie Baer
6797bdd173 feat: console for log, input token field, better logic for running XvB process 2024-03-12 23:27:51 +01:00
Louis-Marie Baer
71c923f979 feat: add console ouput section on XvB tab
this console will output log from XvB private API and from the XvB process
2024-03-12 13:51:59 +01:00
Louis-Marie Baer
74355605e9 feat: manage XvB like a new process
feat: maj TODO
fix: use Vec2 instead of separating height and witdh as args in functions
feat: status of XvB process
feat: button to autostart XvB process into Gupax Tab
feat: autostart XvB if button is checked
feat: buttons to start/stop/restart XvB process in XvB Tab
feat: check token and address inputs before allowing to start XvB
feat: add description to buttons when hovering
fix: adjust test
feat: function to verify if token exist on XvB API
clippy auto and manual fix
2024-03-12 13:01:04 +01:00
Louis-Marie Baer
2f8ed66a2d fix: minor visual status xvb 2024-03-04 15:56:00 +01:00
Louis-Marie Baer
9e0ef7a6c3 fix: modification on visual for status colomn xvb 2024-03-04 15:52:04 +01:00
Louis-Marie Baer
100d516794 fix: typo 2024-03-04 12:14:29 +01:00
Louis-Marie Baer
7f8b1b2089 feat: show XvB stats to Status Tab 2024-03-04 12:04:38 +01:00
Louis-Marie Baer
f164184044 fix: path images README 2024-03-03 09:16:43 +01:00
Louis-Marie Baer
86d1daee02 feat: decompose processes view into separate functions 2024-03-03 09:01:48 +01:00
Louis-Marie Baer
045dd7ab03 feat: separate logic into smaller modules
The original sources, while well documented, had files with over 2.5K LoC.
Separating the logic in different modules add clarity making the code easier to work with.
2024-03-03 08:37:35 +01:00
Louis-Marie Baer
edfea23acb feat: logo and link to website 2024-02-27 22:46:27 +01:00
Louis-Marie Baer
4ef9c902f1 fix: width top bar taking into account fith separator 2024-02-27 19:56:14 +01:00
Louis-Marie Baer
ffceb4b298 fix: clippy non auto fixable warnings 2024-02-27 19:44:28 +01:00
Louis-Marie Baer
2c7a1174b7 feat: add new tab Xvb
empty tab
2024-02-27 18:47:10 +01:00
Louis-Marie Baer
dd55d87b2e fix: remove some warnings 2024-02-27 07:08:04 +01:00
Louis-Marie Baer
b04412145f feat: replace deprecated code for images 2024-02-27 06:50:49 +01:00
Louis-Marie Baer
d811f60b00 feat: cargo clippy 2024-02-27 05:08:14 +01:00
Louis-Marie Baer
4db5163959 feat: bump version of env_logger and modify code for it
Use default style of env_logger instead of custom style.
2024-02-26 20:13:27 +01:00
Louis-Marie Baer
7b60a88176 feat: bump version of sysinfo and upgrade code for it 2024-02-26 19:43:32 +01:00
Louis-Marie Baer
55baa7054e fix: rustfmt formatting 2024-02-26 08:01:53 +01:00
hinto.janai
921fca8ed6
node: update readme 2024-02-01 09:08:51 -05:00
hinto.janai
7345f9b124
node: use full country name 2024-02-01 09:01:13 -05:00
hinto.janai
1436a02457
node: add xmr{1,2,3}.rs.me 2024-02-01 08:53:38 -05:00
hinto.janai
09807aec8b
node: remove bunkernet.ddns.net
hyper::Error(
    Io,
    Os {
        code: 104,
        kind: ConnectionReset,
        message: "Connection reset by peer",
    },
)
2024-02-01 08:44:45 -05:00
hinto.janai
4eb3c8e6ce
node: remove node.richfowler.net
hyper::Error(
    Io,
    Os {
        code: 104,
        kind: ConnectionReset,
        message: "Connection reset by peer",
    },
)
2024-02-01 08:42:51 -05:00
hinto.janai
20f7c7412e
node: misc fixes 2024-02-01 08:41:54 -05:00
hinto.janai
364429ca68
helper: always uptime xmrig uptime in update_from_output() 2024-01-22 14:22:36 -05:00
hinto.janai
5699fe6702
v1.3.4 2024-01-09 08:35:11 -05:00
hinto.janai
9028dbd822
helper: fix if order, add tests 2023-12-28 16:25:34 -05:00
hinto.janai
63f5d69dff
helper: fix false-positive p2pool sync 2023-12-28 16:20:01 -05:00
hinto.janai
d27a1cad74
regex: add next block = 1 regex for p2pool 2023-12-28 16:19:44 -05:00
hinto.janai
7024c461ba
Merge branch 'inline' 2023-12-28 16:05:08 -05:00
hinto.janai
3b7181e9c0
Merge branch 'egui' 2023-12-28 16:03:00 -05:00
hinto.janai
9df40a79bf
update inlines 2023-12-28 10:41:42 -05:00
hinto.janai
a51234d353
main: fix closing 2023-12-28 09:22:45 -05:00
hinto.janai
62865f7c41
fix ComboBox width 2023-12-28 09:04:50 -05:00
hinto.janai
4f177ce951
constants: fix widget colors 2023-12-28 08:57:29 -05:00
hinto.janai
023b370cdf
main: fix scaling 2023-12-28 08:57:12 -05:00
hinto.janai
430cf7d805
xmr: revert to_string() 2023-12-26 12:40:24 -05:00
hinto.janai
de070a3986
xmr: misc fixes 2023-12-26 12:03:48 -05:00
hinto.janai
3d3941081e
main: fix input() lifetime 2023-12-26 12:02:45 -05:00
hinto.janai
86c6b9791c
xmrig: fix input 2023-12-26 12:01:50 -05:00
hinto.janai
e95a85dbd0
status: fix scrollbar visibility 2023-12-26 12:01:26 -05:00
hinto.janai
1c831712af
p2pool: fix input 2023-12-26 12:00:29 -05:00
hinto.janai
4c1e317042
main: fix input 2023-12-26 11:59:56 -05:00
hinto.janai
54e009a157
main: fix F11 fullscreen 2023-12-26 11:58:58 -05:00
hinto.janai
d9b4106970
main: fix on_close_event() 2023-12-26 11:56:01 -05:00
hinto.janai
8fe06865e0
main: fix init_options() 2023-12-26 11:47:51 -05:00
hinto.janai
0d63429dfe
main: fix scroll bar width 2023-12-26 11:45:39 -05:00
hinto.janai
ab8322c2d0
main: fix init resolution 2023-12-26 11:43:53 -05:00
hinto.janai
ca881539f1
gupax: fix Frame resize 2023-12-26 11:38:46 -05:00
hinto.janai
039aed1679
constants: fix visuals 2023-12-26 11:33:32 -05:00
hinto.janai
91e5cddb8b
for -> while 2023-12-25 09:52:24 -05:00
hinto.janai
864e8ea394
helper: strip ANSI escape sequences at beginning of PTY start 2023-12-25 09:45:55 -05:00
hinto.janai
b2ce128daa
regex: add more tests 2023-11-28 08:59:32 -05:00
hinto.janai
77d0a7e422
regex: relax domain regex and allow subdomains 2023-11-28 08:58:21 -05:00
hinto.janai
1bfd72a8c2
v1.3.3 2023-11-26 19:18:07 -05:00
hinto.janai
68e01760f9
update cpu.json 2023-11-26 19:06:51 -05:00
hinto.janai
42e67d940e
node: only add simple nodes to backup lists if green/yellow
This avoids adding potential dead nodes to the list and causing
P2Pool to abort. If no ping data is available, no backup nodes
are added.
2023-11-26 16:26:51 -05:00
hinto.janai
b4a4e83457
p2pool: shorten simple terminal height
same height as xmrig advanced, should prevent (most)
clipping issues on low resolution windows
2023-11-24 10:12:04 -05:00
hinto.janai
1b21928eb8
150GB -> 170GB 2023-11-24 09:37:03 -05:00
hinto.janai
430fa8f78c
ui: link to https://xmrig.com/benchmark instead 2023-11-24 09:34:34 -05:00
hinto.janai
8976641d48
constants: use build-time COMMIT env var 2023-11-24 09:30:15 -05:00
hinto.janai
ff4b0181ad
node: check get_info sync progress 2023-11-24 09:12:03 -05:00
hinto.janai
846b6265ea
node: remove xmr.theuplink.net 2023-11-24 09:05:59 -05:00
hinto.janai
2e5521e468
node: deserialize get_info when pinging 2023-11-24 09:03:32 -05:00
hinto.janai
bf15d3f42f
update: add new curl & wget user-agents 2023-11-19 12:53:45 -05:00
hinto.janai
ea385a61cf
update: remove CVE affected curl user-agents
7.69.0 to 8.3.0 https://curl.se/docs/CVE-2023-38545.html
2023-11-19 12:49:25 -05:00
hinto.janai
98750ace61
xmrig: center align sliders and reduce width 2023-11-19 12:30:25 -05:00
hinto.janai
587700ea04
add custom panic handler 2023-11-17 13:21:02 -05:00
hinto.janai
1eff1b0780
v1.3.2 2023-10-22 18:40:22 -04:00
hinto.janai
2af44ac40f
update cpu.json 2023-10-22 18:11:25 -04:00
hinto.janai
f156d7b9a2
remove node: oracle.netrix.cc 2023-10-22 17:15:01 -04:00
hinto.janai
874f11cb3e
add 0.1..=2.0 window pixel_per_point scaling 2023-10-22 17:14:02 -04:00
hinto.janai
aa1b3717da
v1.3.0 2023-07-13 13:15:39 -04:00
hinto.janai
19f374eb0a
node: add fbx.tranbert.com 2023-07-13 12:02:23 -04:00
hinto.janai
27369c26af
node: add oracle.netrix.cc 2023-07-13 12:01:09 -04:00
hinto.janai
b8d02617e7
node: add bunkernet.ddns.net 2023-07-13 11:59:34 -04:00
hinto.janai
a1a070b1ce
node: add node.cryptocano.de 2023-07-13 11:57:12 -04:00
hinto.janai
725f1416da
node: add sf.xmr.support
This is probably just a redirect to `xmr.support` though.
2023-07-13 11:55:47 -04:00
hinto.janai
92ec78f971
node: remove node.sethforprivacy.com
Bad uptime.
2023-07-13 11:54:35 -04:00
hinto.janai
ca14ccef18
node: remove radishfields.hopto.org
Down.
2023-07-13 11:53:52 -04:00
hinto.janai
d4ef277716
node: remove xmr.foxpro.su
Bad uptime.
2023-07-13 11:53:07 -04:00
hinto.janai
e34bb97aaa
node: remove monero.homeqloud.com
Down.
2023-07-13 11:52:42 -04:00
hinto.janai
b72058726e
node: remove reynald.ro
Down.
2023-07-13 11:52:14 -04:00
hinto.janai
669aaf56b9
node: remove m1.poiuty.com
Down.
2023-07-13 11:51:49 -04:00
hinto.janai
49da821308
node: remove de.poiuty.com
Down.
2023-07-13 11:51:21 -04:00
hinto.janai
24903f049f
node: remove node.moneroworld.com
Down.
2023-07-13 11:50:54 -04:00
hinto.janai
ad58058b5b
node: remove monero2.10z.com.ar
Bad uptime.
2023-07-13 11:50:10 -04:00
hinto.janai
083412157f
node: remove node.yeetin.me
Bad uptime.
2023-07-13 11:49:25 -04:00
hinto.janai
33cd2db53c
node: remove xmr.aa78i2efsewr0neeknk.xyz
Bad uptime.
2023-07-13 11:48:10 -04:00
hinto.janai
04fb526c58
update cpu.json 2023-07-13 11:45:59 -04:00
hinto.janai
c4d534ec98
impl backup hosts 2023-07-13 11:45:04 -04:00
hinto.janai
f45027e929
prepare v1.2.4 2023-07-13 10:44:05 -04:00
hinto.janai
34abbe73fa
helper: add --light-mode for p2pool 2023-06-05 08:25:08 -04:00
hinto.janai
9efe1e0d1a
v1.2.3 2023-06-03 11:33:56 -04:00
hinto.janai
483a94f203
node: add xmr.theuplink.net:18081:18084 2023-06-03 11:19:11 -04:00
hinto.janai
4d60d430ca
node: add xmr.support:18081:18083 2023-06-03 11:18:24 -04:00
hinto.janai
9da3b73e4f
update cpu.json 2023-06-03 11:10:32 -04:00
hinto.janai
95287c003d
update: enable Tor by default on macOS
It works now, should be on by default.
2023-06-01 11:55:01 -04:00
hinto.janai
380620c050
update: fix macOS Tor's TLS
On apple-darwin targets there is an issue with the native and rustls
tls implementation so this makes it fall back to the openssl variant.

https://gitlab.torproject.org/tpo/core/arti/-/issues/715
2023-06-01 11:53:03 -04:00
hinto.janai
df37784ad7
add typo.yml 2023-06-01 09:15:48 -04:00
hinto.janai
b511353710
status: update xmrig cpu/hashrate label 2023-06-01 09:04:00 -04:00
hinto.janai
007173ba84
helper: set NO_COLOR env for p2pool
The undisplayable ANSI codes appearing in Gupax's
P2Pool console were indeed color codes.

P2Pool's "Log started" message doesn't check `--no-color`,
but it does check `NO_COLOR`, so set that before starting.
2023-05-30 12:19:39 -04:00
hinto.janai
9b757d1db9
helper: adjust portable_pty
new `portable_pty` from `cargo upgrade`
has a new API on getting STDIN.
2023-05-30 11:57:00 -04:00
hinto.janai
2457f9fed2
use matrix for CI 2023-05-30 10:56:08 -04:00
hinto.janai
17d0a91fef
update: prepare for macos-arm64 2023-05-30 10:15:56 -04:00
hinto.janai
4c39b58579
v1.2.2 2023-05-11 16:55:26 -04:00
hinto.janai
690d9b2a6a
update cpu.json 2023-05-11 16:24:33 -04:00
hinto.janai
465b2723f2
node: add xmr.foxpro.su 2023-05-11 16:15:30 -04:00
hinto.janai
95d2584e05
node: add node.yeetin.me 2023-05-11 16:14:28 -04:00
hinto.janai
027920c9a7
node: add node.moneroworld.com 2023-05-11 16:12:12 -04:00
hinto.janai
37c62a1f9a
node: add node.sethforprivacy.com 2023-05-11 16:11:08 -04:00
hinto.janai
5eb64a9a3a
num_cpus -> benri 2023-05-11 16:03:32 -04:00
hinto.janai
7d02dfadd0
replace lazy_static with once_cell 2023-05-11 16:01:17 -04:00
hinto.janai
1e04bd2fa7
node: return random instead of [0] for a default 2023-04-24 13:48:32 -04:00
hinto.janai
4e87277bbd
node: remove node-02-xmr.godevs.cloud 2023-04-24 13:42:57 -04:00
hinto.janai
cc4d6f0fae
node: remove node-01-xmr.godevs.cloud 2023-04-24 13:42:42 -04:00
hinto.janai
6187d45528
node: remove monero.jameswillhoite.com 2023-04-24 13:42:14 -04:00
hinto.janai
5b1b414607
node: remove escom.sadovo.com 2023-04-24 13:34:52 -04:00
hinto.janai
31b1545d40
node: only fail test if failure rate is >50% 2023-04-24 13:18:20 -04:00
hinto.janai
d0df49a0cd
update: add help message 2023-04-21 11:18:22 -04:00
hinto.janai
8fbd949342
fix tests, add xmrig_set_mining test 2023-04-19 11:31:36 -04:00
hinto.janai
1fcb827181
xmrig: add ORANGE signal when not mining
XMRig output is now parsed, looking for signs if we're not mining
("no active pools, stop mining") or ARE mining ("new job [...]")
2023-04-19 10:18:04 -04:00
hinto.janai
c8e5462d33
regex: lazy_static everything instead of function input 2023-04-19 10:01:11 -04:00
hinto.janai
bf4d286fad
gui: p2pool sync color BLUE -> ORANGE 2023-04-19 09:35:51 -04:00
hinto.janai
f1320b91bd
gui: change Style
Everything to `Monospace`, set all colors to `ACCENT_COLOR`,
round all corners, set all widget text to `255, 255, 255` (rgb).
2023-04-16 12:49:48 -04:00
hinto.janai
34a840cfac
tests: add p2pool sync test 2023-04-14 13:45:30 -04:00
hinto.janai
7d9ed1b0b8
main: add path deletion help for disk errors 2023-04-14 12:56:36 -04:00
hinto.janai
29ca04c4f1
main: fix potential index panic 2023-04-14 12:30:19 -04:00
hinto.janai
a4eba8a77f
status: fix p2pool stats overflow
Use all available height so `P2Pool` stats don't overflow
2023-04-14 12:19:09 -04:00
hinto.janai
7b56a7b900
main: integrate Syncing signal 2023-04-14 12:12:35 -04:00
hinto.janai
e425388dc8
helper: add check for p2pool synchronized 2023-04-14 11:29:45 -04:00
hinto.janai
8300630875
regex: add p2pool SYNCHRONIZED 2023-04-14 11:29:31 -04:00
hinto.janai
45d76dd402
v1.2.1 2023-03-30 10:39:08 -04:00
hinto.janai
80320decee
cpu.json: update from ef1f6f08ac 2023-03-30 10:24:29 -04:00
hinto.janai
375577d72c
update readme 2023-03-30 10:17:04 -04:00
hinto.janai
40992d82a9
p2pool_api: local/stats -> local/stratum 2023-03-30 09:45:21 -04:00
hinto.janai
2c5bd0d7f6
v1.2.0 2023-03-18 11:52:37 -04:00
hinto.janai
64773c2856
human: inline 2023-03-17 20:57:56 -04:00
hinto.janai
a9287e1902
update: add more recent versions for fake curl HTTP header 2023-03-17 20:57:15 -04:00
hinto.janai
7e29462f79
status: implement Benchmarks submenu 2023-03-17 16:12:06 -04:00
hinto.janai
4058aa0f8f
node: fix node name max length 2023-03-17 16:11:22 -04:00
hinto.janai
c388f53cd1
Add cpu.json from c86b3a4e06 2023-03-17 16:05:35 -04:00
hinto.janai
6d8c2a76ff
node: add monero.jameswillhoite.com 2023-03-17 12:46:46 -04:00
hinto.janai
a07f18d2de
node: add p2pool.uk (good uptime) 2023-03-01 12:13:46 -05:00
hinto.janai
ac8b23dfbc
node: add xmr.aa78i2efsewr0neeknk.xyz (spooky name but good uptime) 2023-03-01 12:11:09 -05:00
hinto.janai
554f94ece0
node: remove fbx.tranbert.com (failing daily ping tests) 2023-03-01 12:06:37 -05:00
hinto.janai
2e90b9803e
helper: always reset xmrig GUI output before starting 2023-03-01 12:04:07 -05:00
hinto.janai
e23ea89a28
Update copyright 2023-02-26 11:45:58 -05:00
hinto.janai
bf9c1eea19
Edit name 2023-02-26 11:44:25 -05:00
hinto-janaiyo
a1c2814a3d
node: try 5 times before failing test 2023-02-12 12:37:10 -05:00
hinto-janaiyo
296e6c2413
v1.1.2 2023-02-06 21:55:33 -05:00
hinto-janaiyo
c592f0c9af
only use wgpu backend for Windows 2023-02-06 19:41:17 -05:00
hinto-janaiyo
95953ffda9
helper: fix STDIN on Windows P2Pool PTY 2023-02-06 17:50:48 -05:00
hinto-janaiyo
703b16c324
switch eframe rendering backend from glow to wgpu
The `glow` backend crashes on certain CPU-based graphics, particularly,
Windows running a CPU with integrated graphics using the basic
Microsoft Display Adapter driver.

`wgpu` seems to work everywhere.
2023-02-06 12:40:14 -05:00
hinto-janaiyo
a629aa6ffe
helper: use current values instead of [selected_*] for p2pool/xmrig 2023-02-06 11:32:38 -05:00
hinto-janaiyo
55f8c24cc7
helper: localhost into 127.0.0.1 for xmrig 2023-02-06 09:17:09 -05:00
hinto-janaiyo
de142fb4c3
helper: localhost into 127.0.0.1 for p2pool 2023-02-03 10:32:01 -05:00
hinto-janaiyo
fdb3ce81cf
v1.1.1 2023-01-31 10:06:09 -05:00
hinto-janaiyo
1548aa3473
Add GitHub Actions 2023-01-28 21:55:19 -05:00
hinto-janaiyo
4f20cefd95
Remote Node: update changelog & cargo update 2023-01-26 15:41:28 -05:00
hinto-janaiyo
3fd5edc314
Remote Node: fix UI and backend functions for remote nodes 2023-01-25 22:42:47 -05:00
hinto-janaiyo
304e8afbef
Remote Node: replace "community" nodes with "ZMQ" nodes 2023-01-25 20:47:59 -05:00
hinto-janaiyo
d64f4a9280
node: add seed nodes, change ping color 2023-01-23 17:05:34 -05:00
hinto-janaiyo
192b388a17
p2pool: add warning about remote nodes in [Simple] 2023-01-23 14:40:45 -05:00
hinto-janaiyo
786b300623
main: reduce top/bottom bar size
This should generally help some spacing issues with the UI and
prevent the [Status/P2Pool] square from expanding out.
2023-01-22 21:30:21 -05:00
hinto-janaiyo
94839a0943
node: add MoneroWorld & HashVault 2023-01-22 21:01:10 -05:00
hinto-janaiyo
5c6b11a0d4
Merge pull request #10 from maddymodd/update-text-removal
Remove the up-to-date text
2023-01-06 16:21:04 +00:00
rosedaler
35fd98d0ca Update main.rs 2023-01-04 11:55:05 -05:00
rosedaler
6b3ae3ea5e Fix spelling of a term, also update gitignore 2023-01-04 10:24:35 -05:00
hinto-janaiyo
de033260e6
v1.1.0 2023-01-03 15:42:09 -05:00
hinto-janaiyo
1301d1a283
v1.1.0: Merge 'status' branch 2023-01-03 12:21:22 -05:00
hinto-janaiyo
388d279e77
v1.1.0 2023-01-03 12:17:38 -05:00
hinto-janaiyo
6430146fe5
Status Submenu: add [--payouts] & [--reset-payouts]
Prints and resets the GupaxP2poolApi [p2pool] files.
2023-01-02 13:32:55 -05:00
hinto-janaiyo
af688427c7
Status Submenu: fix some clippy warnings 2023-01-01 18:57:11 -05:00
hinto-janaiyo
830ee9ebcd
Status Submenu: update hashrate dominance with [Manual] hashrate
The % dominance stats now update along with the manual hashrate.

The updating UI blocks were also moved so all the updating stats
are close to each other.
2023-01-01 15:37:00 -05:00
hinto-janaiyo
f97935d1e8
Status Submenu: remove [Monero] submenu, fix [P2Pool] spacing
There's not much interesting data I could display that regular
Monero GUI or a block explorer can't do, so I'm scrapping the
[Monero] tab. Maybe it'll come back if I rewrite [Status] to include
graphs (never).

The [P2Pool] submenu is pretty much done, this changed the spacing
to make the logs larger and so all the elements fit correctly.
2023-01-01 14:51:30 -05:00
hinto-janaiyo
475bdcce0e
Status Submenu: add [***] progress bar for P2Pool stat refresh 2023-01-01 09:46:23 -05:00
hinto-janaiyo
a3b6521415
Status Submenu: (de)serialize logs in our own format
Instead of saving P2Pool payout logs as they are, they are now
(de)serialized in the same [Display] format, e.g:

<DATE> <TIME>            | <12_DOT_FLOAT> XMR | Block <BLOCK>
2022-09-31 12:53:52.8683 | 0.166122683521 XMR | Block 2,713,512

The parsing functions were updated to be able to read both raw
log lines and the new above format.
2022-12-31 13:47:41 -05:00
hinto-janaiyo
df09eb343a
v1.0.1 2022-12-31 10:03:52 -05:00
hinto-janaiyo
e42e776f00
main: update absolute paths before starting processes
Some situations won't update the path and so starting processes
didn't do anything and failed, this makes sure we have a valid
path before starting.
2022-12-30 19:29:30 -05:00
hinto-janaiyo
e8751842ce
Status Submenu: Add [Status/P2Pool] UI and data 2022-12-30 19:22:43 -05:00
hinto-janaiyo
08cda22e68
Status Submenu: add Unix [750] perms for Gupax data folder 2022-12-30 09:39:03 -05:00
hinto-janaiyo
04d270b37f
main: properly show "Okay|Panic" after initial disk error
When Gupax can't read disk files at startup, it will [Error],
with an option to reset the state file, the user is given two
options [Yes] or [No].

Gupax's global error screen system ignores new errors from
overriding the current IF the current is a [Panic]. This makes
sure the worst errors stay on screen.

This also means after clicking [Yes], it will get ignored and the
screen won't change. So, allow for certain buttons to pass through.

I should probably re-make this whole global error screen system,
it's pretty much a global variable anyone can mutate randomly.
2022-12-29 17:23:49 -05:00
hinto-janaiyo
553081d2aa
Status Submenu: add basic [PayoutView] GUI <-> API UI 2022-12-29 17:03:29 -05:00
hinto-janaiyo
983f6560ad
Submenu Status: clean up types, funcs, etc
General cleanup and optimizations. Some functions are fixed,
some were turned into [const fn], and other small stuff like
[AtomicUnit] using a [u64] instead of a [u128]
2022-12-29 12:12:12 -05:00
hinto-janaiyo
30d8968dd8
Submenu Status: make regex more precise 2022-12-28 22:46:52 -05:00
hinto-janaiyo
19b5a2790b
Status Submenu: add macros!()
Writing [a.lock().unwrap().b.lock().unwrap()] sucks, so these are
some macros that are for common situations. This commit also has
a [sed] replace on all previous code that _could_ have been a macro,
which they all are now.

Hopefully nothing breaks :D
2022-12-28 22:03:45 -05:00
hinto-janaiyo
46b528ecbe
Status Submenu: separate [Regex], [AtomicUnit], [PayoutOrd]
This fixes some funcs, tests and separates some structs into separate files.
2022-12-28 16:04:26 -05:00
hinto-janaiyo
fd6398fb4d
Status Submenu: add [PayoutOrd] parse & update from log 2022-12-27 19:47:36 -05:00
hinto-janaiyo
13280e229c
Status Submenu: add [PayoutOrd] struct, impl, tests 2022-12-27 17:27:10 -05:00
hinto-janaiyo
a66e52bee5
Status Submenu: add submenu UI to [Status] tab 2022-12-27 16:29:12 -05:00
hinto-janaiyo
51816323cd
Status Submenu: add [AtomicUnit] to [helper.rs] 2022-12-27 16:28:43 -05:00
hinto-janaiyo
6b74e20347
Status Submenu: add [Status] to [disk::State] 2022-12-27 12:58:46 -05:00
hinto-janaiyo
267f636382
Status Submenu: add [user_p2pool_percent] & [user_monero_percent]
user_p2pool_percent = The percent of hashrate the user accounts for
relative to all of P2Pool's hashrate.

user_monero_percent = The percent of hashrate the user accounts for
relative to all of Monero's hashrate.
2022-12-27 11:15:14 -05:00
hinto-janaiyo
a6222bfa73
Status Submenu: add new API reads in P2Pool watchdog loop
This adds all necessary functions/conversions/serde/tests for the
new APIs. It also includes the actual reads inside the watchdog loop.

Every loop, [tick] will increment by 1. At [60], the watchdog
will attempt to read and parse the [network] & [pool] APIs.
Since the loop is [900ms], this means this will occur around
every 54 seconds. [tick] gets reset upon successful read/parsing.
2022-12-27 09:38:02 -05:00
hinto-janaiyo
2846441049
Status Submenu: add [GupaxP2poolApi] to [disk.rs], add to [App] 2022-12-26 17:37:45 -05:00
hinto-janaiyo
3175824a2b
Status Submenu: add tests for p2pool api serde 2022-12-26 14:22:05 -05:00
hinto-janaiyo
7d552c1fb8
Status Submenu: separate [Human*] from helper into [human.rs] 2022-12-26 14:02:27 -05:00
hinto-janaiyo
9245cc8a11
Status Submenu: add serde for p2pools [local/network/pool] API 2022-12-26 13:59:03 -05:00
hinto-janaiyo
acba71f157
Status Submenu: fix [Result] collision with [std::result::Result]
monerod's json-rpc response field is [result],
which collides with Rust's [Result], oops.
2022-12-25 13:30:27 -05:00
hinto-janaiyo
2d461ae4ea
Status Submenu: add matching structs for monerod's [get_info] 2022-12-25 11:22:31 -05:00
hinto-janaiyo
4cac807ca7
update: be more lenient on new binary filename match
Instead of a single "true" filename when walking dirs searching
for the newly downloaded (Gupax|P2Pool|XMRig), allow for multiple
valid names as long as they _seem_ correct AND are files, e.g:

GUPAX|Gupax|gupax (.exe)
P2POOL|P2Pool|P2pool|p2pool (.exe)
XMRIG|XMRig|Xmrig|xmrig (.exe)

If the packaging naming schemes change for any of these,
the update code will be able to actually handle it.
2022-12-24 10:44:12 -05:00
hinto-janaiyo
9d66a20360
status: enable p2pool/xmrig "Image" stats
These couldn't be fit in before since there wasn't enough space.
They still can't all fit in, but the most important ones can be
after adjusting the font sizes and height spacing.
2022-12-23 14:06:25 -05:00
hinto-janaiyo
3991c26d76
p2pool/xmrig: red/green [Start] on errors with solution in tooltip 2022-12-23 11:41:43 -05:00
hinto-janaiyo
b5add2f4bf
main: add more info to debug screen 2022-12-23 09:44:20 -05:00
hinto-janaiyo
3b0d247bc6
app: change max frame size to 4k (3840×2160)
If the user fullscreens, restricting to the 4:3 aspect ratio
doesn't make sense, so change the test for only the default/min.

Max is 4k since... who owns 8k monitors :D
2022-12-22 22:21:05 -05:00
hinto-janaiyo
c0161010fa
p2pool: fix custom node selection sometimes using old values 2022-12-22 22:00:57 -05:00
hinto-janaiyo
8586e3e7ca
gupax: rearrange [Advanced] UI, add underscored labels 2022-12-22 21:57:49 -05:00
hinto-janaiyo
10d23ca476
status: show 7 floating point for p2pool stats 2022-12-22 21:55:28 -05:00
hinto-janaiyo
17feda5cb3
macos: warn user if gupax is in [/private] directory
macOS moves "dangerous" applications into a read-only [/private]
filesystem. This messes up with the updater and default P2Pool and
XMRig paths.

If [/private] is detected, show a panic screen upon Gupax startup
telling the user to move it to [/Applications]. This _seems_ to
make macOS relax a little (after an arbitrary amount of time...)
2022-12-22 11:56:25 -05:00
hinto-janaiyo
e6bf49b309
v1.0.0
Includes some small fixes:

- [localhost] will always be changed to [127.0.0.1] in the case
  of XMRig (it doesn't understand localhost by itself)

- P2Pool/XMRig API path now checks for a [/] or [\]
  and correctly applies the endpoint, e.g:
  BASEPATH = "/home/hinto/p2pool"
  ENDPOINT = "local/stats"
  if BASEPATH doesn't end with '/' { BASEPATH.push('/') }
  API_PATH = BASEPATH + ENDPOINT ("/home/hinto/p2pool/local/stats")

- P2Pool payout line got changed in: be18ad4177
  The regex is now a more generic: [payout of [0-9].[0-9]+ XMR]
2022-12-19 18:54:46 -05:00
hinto-janaiyo
6c0ba2be9a
main: add [d] debug info screen 2022-12-19 00:00:06 -05:00
hinto-janaiyo
da719df6d6
helper: reset [Pub*Api] if restarting process 2022-12-18 20:47:23 -05:00
hinto-janaiyo
8884dbd023
helper: fix p2pool's api combine, add #[test], add [debug!()] 2022-12-18 12:15:42 -05:00
hinto-janaiyo
3db1adce75
linux: add [--features distro] build flag 2022-12-18 10:22:32 -05:00
hinto-janaiyo
233ccd62ac
helper: add [HumanTime] & [HumanNumber] #[test]s 2022-12-17 20:51:50 -05:00
hinto-janaiyo
e35f5b243b
Add #[test]s, fix [State::merge()], fix [quit_twice] 2022-12-17 17:18:06 -05:00
hinto-janaiyo
03411bdb5e
main: fix [About] spacing 2022-12-17 13:42:04 -05:00
hinto-janaiyo
e90fbe27b1
update: misc cleanups 2022-12-17 13:35:13 -05:00
hinto-janaiyo
7439c89a52
main: quit if [ALT+F4] on [ask_before_quit], add [save_before_quit]
If user clicked the [X] or [ALT+F4] while on the [ask_before_quit]
screen, it'll actually exit now.

The [save_before_quit] option actually... saves before quitting now.
No cloning since we're exiting and no [ErrorState] setting on errors.
The console logs will show if a save error happens.
2022-12-17 11:00:32 -05:00
hinto-janaiyo
d1a4d66268
helper: fix GUI log reset message 2022-12-17 09:52:33 -05:00
hinto-janaiyo
0e15f0a73a
p2pool: add [Select random node] and [<- Last] & [Next ->] UI 2022-12-16 23:19:33 -05:00
hinto-janaiyo
166c89a8d1
disk: fix serializing quotes in strings 2022-12-16 22:38:46 -05:00
hinto-janaiyo
3ac0b98802
disk: handle some [.unwrap()]s correctly 2022-12-16 19:16:16 -05:00
hinto-janaiyo
ddec9fcb6d
cargo check/clippy fixes 2022-12-16 16:46:06 -05:00
hinto-janaiyo
813a59353e
helper: fix [XMR per ...] stat
It was using the [payouts] variable as a base instead of [xmr].
2022-12-16 13:36:39 -05:00
hinto-janaiyo
29445e1bd1
keys/p2pool/xmrig: change key shortcuts, check for [ACCEPTABLE_*]
Keyboard shortcuts [Left] & [Right] were clobbering the
[TextEdit] left/right movement, so they are now [Z/X].
The shortcuts also look to make sure a TextEdit isn't
in focus so that [S/R/Z/X] can actually be typed.

P2Pool/XMRig now make sure the path ends with an [ACCEPTABLE_*]
value (e.g: P2pool, P2POOL) before enabling the [Start] UI.
2022-12-16 10:30:57 -05:00
hinto-janaiyo
aad1a26e1e
Add to Simple/Advanced README 2022-12-15 23:17:40 -05:00
hinto-janaiyo
f65ce9a1b8
main: allow [.] in [name] regex
[GUPAX_VERSION_UNDERSCORE] was used as the XMRig [Rig], which didn't
allow [.] (Gupax_v1.0.0), so allow for dots in the [name] regex.
2022-12-15 18:50:50 -05:00
hinto-janaiyo
055f498a5d
Add to Advanced README 2022-12-15 13:39:14 -05:00
hinto-janaiyo
5e2f0b7ed7
Update FAQ & Community node list 2022-12-14 21:55:10 -05:00
hinto-janaiyo
36ba38f1d9
helper: fix log reset message 2022-12-14 18:25:36 -05:00
hinto-janaiyo
035e3e782a
xmrig: fix [Rig] check using [self.name] value
In XMRig Advanced the color/checkmark code was being given [self.name]
instead of [self.rig] which caused them to be linked, e.g: you clear
"Name" and [Rig] goes red instead.
2022-12-14 17:46:44 -05:00
hinto-janaiyo
631e4cc2db
helper: optimize PTY output parsing
(Stupid) Problem (caused by me):
--------------------------------
Up to 56million bytes of P2Pool/XMRig output were being held in memory
so they could be parsed. P2Pool output is the only one that needs
parsing as well, so double bad.

(Obvious) Solution:
-------------------
For XMRig:
Just don't write to an extra [String] buffer.

For P2Pool:
Parse the output, then... toss it out? You don't need the output
anymore after you parsed the values out, e.g: `Payouts`, `XMR Mined`.
Once they are parsed, add them to the current values instead of
completely overwriting them and then toss out the log buffer.

Now Gupax doesn't use stupid amounts of memory holding what is
essentially dead logs we already parsed. The parsing will be a lot
cheaper too since we aren't parsing the entire thing over and over
again (it was already pretty fast though).
2022-12-14 17:37:29 -05:00
hinto-janaiyo
d3bbe2ece2
cargo check/clippy fixes 2022-12-13 23:05:13 -05:00
hinto-janaiyo
2b80aa0277
v0.9.0
Fixes:
    - Up/Down only work if UI is enabled
    - Re-pushed [P2POOL_API_PATH] to popped relative path
      but only after giving the popped path to P2Pool
          1. [/tmp/gupax/p2pool/p2pool] -> [/tmp/gupax/p2pool]
          2. Give that to P2Pool
          3. [/tmp/gupax/p2pool] -> [/tmp/gupax/p2pool/local/stats]
          4. Give that to the watchdog (so it can read it)
2022-12-13 15:06:07 -05:00
hinto-janaiyo
9eb49b6dbd
p2pool/xmrig: handle custom arg [--no-color], API ip/port/path 2022-12-13 12:44:57 -05:00
hinto-janaiyo
79b0361152
helper/main: fix [Arc<Mutex>] deadlocks, add keyboard shortcuts
There was a deadlock happening between the [Helper]'s [gui_api_p2pool]
and the GUI's [gui_api_p2pool], since the locking order was different.
The watchdog loop locking order was fixed as well. This was a pain to
track down, better than a data race... I guess.

Oh and keyboard shortcuts were added in this commit too.

Comment from code:

// The ordering of these locks is _very_ important. They MUST be in sync
// with how the main GUI thread locks stuff or a deadlock will occur
// given enough time. They will eventually both want to lock the [Arc<Mutex>]
// the other thread is already locking. Yes, I figured this out the hard way,
// hence the vast amount of debug!() messages.
//
// Example of different order (BAD!):
//
// GUI Main       -> locks [p2pool] first
// Helper         -> locks [gui_api_p2pool] first
// GUI Status Tab -> trys to lock [gui_api_p2pool] -> CAN'T
// Helper         -> trys to lock [p2pool] -> CAN'T
//
// These two threads are now in a deadlock because both
// are trying to access locks the other one already has.
//
// The locking order here must be in the same chronological
// order as the main GUI thread (top to bottom).
2022-12-13 10:14:26 -05:00
hinto-janaiyo
128fa500bb
v0.9.0 (maybe) 2022-12-12 17:24:05 -05:00
hinto-janaiyo
798966d447
litter codebase with [debug!()]
The entire codebase is now littered with [debug!()] messages.
Thankfully [log] has 0 cost if you aren't using them, so regular
users won't have a runtime penalty unless they specify RUST_LOG=debug.
2022-12-12 14:50:34 -05:00
hinto-janaiyo
bf4e39c3a5
status: link helper & GUI's XMRig API 2022-12-11 22:01:37 -05:00
hinto-janaiyo
e2f6d90476
helper/sudo: small p2pool api fixes, don't allow ESC when [testing] 2022-12-11 20:44:46 -05:00
hinto-janaiyo
1e2b8f7803
xmrig/status: implement API hyper/tokio call; add [Gupax] stats 2022-12-11 15:51:07 -05:00
hinto-janaiyo
81ec266e0a
gupax: add [Auto-P2Pool/XMRig] for running at Gupax startup 2022-12-10 23:10:26 -05:00
hinto-janaiyo
b65b7a14d8
p2pool: fix [Simple] console scrollbar bug
Something todo with the height multiplier for [P2Pool Simple]'s
console was causing weird behavior when changing to other tabs.
With the console a bit bigger now, the scrollbar no longer shows
and there is less glitchy resizing when switching to other tabs.
2022-12-10 22:10:10 -05:00
hinto-janaiyo
1b999e3d9b
main/helper: change [Start] button, change [Sudo] input order 2022-12-10 21:55:57 -05:00
hinto-janaiyo
3fee0e5690
macOS: handle killing XMRig with [sudo]
Even with the parent-child relationship and direct process handle,
Gupax can't kill an XMRig spawned with [sudo] on macOS, even though
it can do it fine on Linux. So, on macOS, get the user's [sudo]
pass on the [Stop] button and summon a [sudo kill] on XMRig's PID.

This also complicates things since now we have to keep [SudoState]
somehow between a [Stop] and a [Start]. So there is macOS specific
code that now handles that.
2022-12-10 21:00:08 -05:00
hinto-janaiyo
4da775667b
windows/pty: include static [VCRUNTIME140.dll], change PTY size
Bare metal windows was complaining about this DLL, so it is now
included statically using [https://docs.rs/static_vcruntime/].
I tried statically linking everything for Windows but:
	1. It's not necessary, pretty much all DLLs needed
	   (except this one) are included in Windows 7+ by default
	2. It's a pain in the ass to build everything
	   statically, especially since Gupax needs OpenSSL.
	   (building OpenSSL on Windows == hell)

Windows/macOS were having console artifacts, escape codes and
random newlines would show up in P2Pool/XMRig output. After
thinking about it for a while, I realized I left the PTY
size to the default [24 rows/80 columns], hence the PTYs
prematurely inserting newlines and weird escape codes.

It works fine after setting it to [100/1000]. Interestingly,
Linux worked completely fine on 24/80, probably resizes internally.
2022-12-10 15:40:32 -05:00
hinto-janaiyo
929d80c61d
main: check for admin at init, good for windows, bad for unix 2022-12-09 22:06:42 -05:00
hinto-janaiyo
e7de536f18
windows: handle admin priviledge for xmrig
Please read the [src/README.md]. I hate windows so much.
2022-12-09 21:31:16 -05:00
hinto-janaiyo
965e070ff5
xmrig: fix node [Save] not change selected values 2022-12-08 22:37:50 -05:00
hinto-janaiyo
6dbf0386c4
p2pool/xmrig: add address/path check before allowing [Start] 2022-12-08 20:25:41 -05:00
hinto-janaiyo
a3802ef4f7
helper: start xmrig with sudo, implement [restart_xmrig()]
This commit takes care of correctly starting [sudo] with XMRig as
a command argument. The frontend [restart_*] function is also
implemented. In XMRig's case, the threads will sleep [3/5 seconds]
before [starting/restarting] so that [sudo] has time to open its
STDIN. This prevents premature inputs and outputting the password
to the STDOUT.
2022-12-08 18:34:31 -05:00
hinto-janaiyo
d30fb5563b
helper: optimize [String] output buffers
Instead of cloning the entirety of the process's output, this
commit adds a sort of hierarchy of string buffers:

We need:
1. The full output for stat parsing (max 1 month/56m bytes)
2. GUI output to be lightweight (max 1-2 hours/1m bytes)
3. GUI output buffered so it's on a refresh tick of 1 second

------------------------------------------------------------------
So this is the new buffer hierarchy, from low to high level:
[Process] <-> [Watchdog] <-> [Helper] <-> [GUI]
------------------------------------------------------------------
Process: Writes to 2 buffers, a FULL (stores everything) and
a BUF which is exactly the same, except this gets [mem:take]n later
Stuff gets written immediately if there is output detected.

Watchdog: [std::mem::take]'s [Process]'s BUF for itself.
Both FULL and BUF output overflows are checked in this loop.
This is done on a slightly faster tick (900ms).

Helper: Appends watchdog's BUF to GUI's already existing [String]
on a 1-second tick.

GUI: Does nothing, only locks & reads.
------------------------------------------------------------------

This means Helper's buffer will be swapped out every second, meaning
it'll almost always be empty. Process's FULL output will be the
heaviest, but is only used for backend parsing. GUI will be in the
middle. This system of buffers makes it so not every thread has to
hold it's own FULL copy of the output, in particular the GUI thread
was starting to lag a little due to loading so much output.
2022-12-08 12:29:38 -05:00
hinto-janaiyo
8281d97bc3
helper: copy p2pool functions to xmrig (todo!) 2022-12-07 20:50:14 -05:00
hinto-janaiyo
82918d4106
sudo: zeroize pass on every [ask_sudo()] call 2022-12-07 20:34:44 -05:00
hinto-janaiyo
06f19043ed
sudo: add [try_wait()] 5 second loop check for sudo 2022-12-07 20:22:41 -05:00
hinto-janaiyo
f988e4224c
main: add [zeroize] and implement sudo input/test screen for xmrig 2022-12-07 18:02:08 -05:00
hinto-janaiyo
31f23d9d58
app: check for overflowing user resolution values 2022-12-06 22:01:36 -05:00
hinto-janaiyo
9c323ec502
helper: p2pool - write directly to GUI thread on exit 2022-12-06 21:33:24 -05:00
hinto-janaiyo
33089ddca3
p2pool/app: add STDIN + clear at 56million bytes, 4:3 default ratio 2022-12-06 21:19:24 -05:00
hinto-janaiyo
05437720a2
helper: add data sync loop, add [ImgP2pool] for p2pool init data 2022-12-06 17:48:48 -05:00
hinto-janaiyo
016aeab1b6
helper: p2pool - add static [UserP2poolData] 2022-12-06 15:55:50 -05:00
hinto-janaiyo
b4a6dbec19
helper: p2pool - fix [Advanced] argument builder 2022-12-06 15:34:11 -05:00
hinto-janaiyo
9b1a815089
helper: p2pool - fix uptime, format with commas and spaces 2022-12-06 15:17:37 -05:00
hinto-janaiyo
e1829f967c
helper: p2pool - process output regardless of API file status 2022-12-06 13:23:16 -05:00
hinto-janaiyo
2a9ebd4cdf
helper: p2pool - connect major [Helper] APIs to GUI thread
Lots of stuff in this commit:
1. Implement [Start/Stop/Restart] and make it not possible for
the GUI to interact with that UI if [Helper] is doing stuff.
This prevents the obviously bad situation where [Helper] is in
the middle of spawning P2Pool, but the user is still allowed to
start it again, which would spawn another P2Pool. The main GUI
matches on the state and disables the appropriate UI so the
user can't do this.

2. Sync P2Pool's [Priv] and [Pub] output so that the GUI thread
is only rendering it once a second. All of Gupax also refreshes
at least once a second now as well.

3. Match the [ProcessState] with some colors in the GUI

4. GUI thread no longer directly starts/stops/restarts a process.
It will call a function in [Helper] that acts as a proxy.

5. The tokio [async_spawn_p2pool_watchdog()] function that was
a clone of the PTY version (but had async stuff) and all of the
related functions like the async STDOUT/STDERR reader is now
completely gone. It doesn't make sense to write the same code
twice, both [Simple] and [Advanced] will have a PTY, only
difference being the [Simple] UI won't have an input box.

6. P2Pool's exit code is now examined, either success or failure

7. Output was moved into it's own [Arc<Mutex>]. This allows for
more efficient writing/reading since before I had to lock all of
[Helper], which caused some noticable deadlocks in the GUI.

8. New [tab] field in [State<Gupax>], and GUI option to select
the tab that Gupax will start on.
2022-12-05 22:50:00 -05:00
hinto-janaiyo
1f3a472869
helper: p2pool - stdout payouts/xmr parser, priv -> pub functions 2022-12-05 14:55:50 -05:00