Commit graph

20 commits

Author SHA1 Message Date
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
0a8deee359
helper: add functions for p2pool/xmrig UI -> command arguments 2022-12-03 13:41:14 -05:00
hinto-janaiyo
b85dcd908d
xmrig: tls+keepalive default false (for p2pool) 2022-11-26 22:41:08 -05:00
hinto-janaiyo
6af2ffcc16
Cargo update + clippy lint fixes 2022-11-23 23:03:56 -05:00
hinto-janaiyo
c25cbacb46
[Simple/Advanced] for [Gupax/XMRig] tabs 2022-11-23 16:50:15 -05:00
hinto-janaiyo
9e03b3caad
cargo/tor/p2pool: clean deps, warn macos arti, fix node overflow
Cargo: Cleanup unused dependencies, enable some build optimizations

Tor: Arti doesn't seem to work on macOS
Even a bare Arti+Hyper request doesn't seem to work, so it's
probably not something to do with Gupax. A lot of issues only
seem to popup in a VM (OpenGL, TLS) even though on bare metal
Gupax runs fine, so Tor might work fine on real macOS but I don't
have real macOS to test it. VM macOS can't create a circuit, so,
disable by default and add a warning that it's unstable.

P2Pool: Let selected_index start at 0, and only +1 when printing
to the user, this makes the overflow math when adding/deleting a
lot more simple because selected_index will match the actual index
of the node vector
2022-11-21 17:25:38 -05:00
hinto-janaiyo
3b37ac7be3
log: date -> sec.milli since init 2022-11-20 20:26:50 -05:00
hinto-janaiyo
42c89fcdd2
node: handle [write!] error 2022-11-20 14:46:43 -05:00
hinto-janaiyo
f2852549c2
update/ping: consolidate code in *::spawn_thread() 2022-11-20 14:20:25 -05:00
hinto-janaiyo
d0ced90bb1
main/disk: get OS data path only once, pass ref for [state/node] 2022-11-20 13:31:00 -05:00
hinto-janaiyo
7a5fe24276
disk: add [ErrorState] handling for disk errors 2022-11-19 22:49:15 -05:00
hinto-janaiyo
e8c41fceb3
main: prevent overflowing p2pool manual node index 2022-11-19 13:35:28 -05:00
hinto-janaiyo
ff98b2a303
update: recreate tor client on failure in metadata loop 2022-11-19 09:43:38 -05:00
hinto-janaiyo
51df689cb0
gupax: add [FileWindow] selector for p2pool/xmrig path 2022-11-17 13:03:45 -05:00
hinto-janaiyo
addf5ad60e
update: use compiled + updated version in gupax version comparison
If the built-in compiled version of Gupax is the only version
getting compared when updating, an old Gupax instance will always
think there's a new version even if the user already updated and
the actual binaries are swapped. To prevent forcing users to
restart, the built-in compiled version gets compared as well as
the version stored in [Arc<Mutex<Version>>], which should get
updated in a successful Gupax update.
2022-11-16 21:14:21 -05:00
hinto-janaiyo
1b85e59530
cleanup cargo warnings 2022-11-16 14:40:25 -05:00
hinto-janaiyo
50fff5c311
main: implement [ErrorState] checks in main() 2022-11-16 14:07:27 -05:00
hinto-janaiyo
a13e6d689b
optimize [.lock()], add index counter to p2pool manual nodes 2022-11-15 21:22:15 -05:00
hinto-janaiyo
d06cb08940
implement [--reset], add [ErrorState] for fullscreen ferris error 2022-11-15 16:29:05 -05:00
hinto-janaiyo
9faf0fc9f5
p2pool: add [Advanced], add [node.toml] database, add char limit 2022-11-13 21:56:25 -05:00