Commit graph

111 commits

Author SHA1 Message Date
hinto.janai
5914eeccbb readme: link badges to workflows 2023-04-24 12:38:26 -04:00
hinto.janai
b0fd01ad73 fix tests, add xmrig_set_mining test 2023-04-19 11:31:36 -04:00
hinto.janai
19a6e3026a combine workflows 2023-04-14 13:55:45 -04:00
hinto.janai
0f55ac5956 v1.2.1 2023-03-30 10:39:08 -04:00
hinto.janai
ea5f60850e update readme 2023-03-30 10:17:04 -04:00
hinto.janai
f78f9c106c v1.2.0 2023-03-18 11:52:37 -04:00
hinto.janai
0ded6b32e9 status: implement Benchmarks submenu 2023-03-17 16:12:06 -04:00
hinto-janaiyo
a9d8d2ae8d only use wgpu backend for Windows 2023-02-06 19:41:17 -05:00
hinto-janaiyo
12df18a40d v1.1.1 2023-01-31 10:06:09 -05:00
hinto-janaiyo
7f296dcd84 Add GitHub Actions 2023-01-28 21:55:19 -05:00
hinto-janaiyo
4b9a907262 Remote Node: fix UI and backend functions for remote nodes 2023-01-25 22:42:47 -05:00
hinto-janaiyo
96202af2ba Remote Node: replace "community" nodes with "ZMQ" nodes 2023-01-25 20:47:59 -05:00
hinto-janaiyo
0249e11c1c Remote Node: update README.md
These [Remote Node] commits will be for moving over the old
[Community] nodes into usable ZMQ-enabled nodes sourced from https://github.com/hinto-janaiyo/monero-nodes
2023-01-25 20:35:54 -05:00
hinto-janaiyo
5a68bccd3a node: add seed nodes, change ping color 2023-01-23 17:05:34 -05:00
hinto-janaiyo
8a9d2925a1 p2pool: add warning about remote nodes in [Simple] 2023-01-23 14:40:45 -05:00
hinto-janaiyo
7ada854ecd node: add MoneroWorld & HashVault 2023-01-22 21:01:10 -05:00
rosedaler
ac9cf5f4a0 Fix spelling of a term, also update gitignore 2023-01-04 10:24:35 -05:00
hinto-janaiyo
7c34f46f6d v1.1.0 2023-01-03 15:42:09 -05:00
hinto-janaiyo
be26da2604 v1.1.0: Merge 'status' branch 2023-01-03 12:21:22 -05:00
hinto-janaiyo
dea419c401 v1.1.0 2023-01-03 12:17:38 -05:00
hinto-janaiyo
b79de69f4f Status Submenu: add README.md docs 2023-01-03 11:14:43 -05:00
hinto-janaiyo
cfbe054560 Status Submenu: Add [Status/P2Pool] UI and data 2022-12-30 19:22:43 -05:00
hinto-janaiyo
25d9dda7ea 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
c086e815ec 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
c1e3a674f4 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
fca5801ef0 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
1a780226d3 Status Submenu: add [PayoutOrd] parse & update from log 2022-12-27 19:47:36 -05:00
hinto-janaiyo
4eba2c7b83 Status Submenu: add submenu UI to [Status] tab 2022-12-27 16:29:12 -05:00
hinto-janaiyo
78964153ed 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
260f5edd96 Status Submenu: add [GupaxP2poolApi] to [disk.rs], add to [App] 2022-12-26 17:37:45 -05:00
hinto-janaiyo
e52d0ef7e0 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
e9790ec437 readme: add local monero node guide 2022-12-23 23:42:58 -05:00
hinto-janaiyo
bc5bec875c 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
8f39a3238f helper: fix p2pool's api combine, add #[test], add [debug!()] 2022-12-18 12:15:42 -05:00
hinto-janaiyo
ea394429fc linux: add [--features distro] build flag 2022-12-18 10:22:32 -05:00
hinto-janaiyo
c18cbd2f4f add [License] to README.md 2022-12-17 14:12:04 -05:00
hinto-janaiyo
49f469a8b1 cargo check/clippy fixes 2022-12-16 16:46:06 -05:00
hinto-janaiyo
e977a3d621 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
489e17045a Update P2Pool Main vs Mini vs Solo mining 2022-12-16 11:56:24 -05:00
hinto-janaiyo
173a13ecd0 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
c1d5e00145 Add to Simple/Advanced README 2022-12-15 23:17:40 -05:00
hinto-janaiyo
3a01d28a18 Add [Video] guide 2022-12-15 17:18:28 -05:00
hinto-janaiyo
6496b27324 Add to Advanced README 2022-12-15 13:39:14 -05:00
hinto-janaiyo
6c59ecc759 Update README 2022-12-15 10:13:46 -05:00
hinto-janaiyo
c1a918c730 Update FAQ & Community node list 2022-12-14 21:55:10 -05:00
hinto-janaiyo
f0d335170a 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
540356b948 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
1c2f7d32ec helper/sudo: small p2pool api fixes, don't allow ESC when [testing] 2022-12-11 20:44:46 -05:00
hinto-janaiyo
67bb64471a Update README.md 2022-12-11 17:22:49 -05:00
hinto-janaiyo
c49b7aa982 helper: add functions for p2pool/xmrig UI -> command arguments 2022-12-03 13:41:14 -05:00
hinto-janaiyo
646459b6f3 app: resize only once on width diff, set static button size at init
A [must_resize] and [ctx.is_pointer_over_area()] is now used to
indicate we need a resizing. This makes it so when a user is
resizing the width of Gupax, the heavy [init_text_styles()] func
will only get called once when the user hovers over the GUI.

The button size is also now set in that function so it doesn't
have to be called in every separate tab.
2022-11-25 12:01:52 -05:00
hinto-janaiyo
9462459c85 [Simple/Advanced] for [Gupax/XMRig] tabs 2022-11-23 16:50:15 -05:00
hinto-janaiyo
56c4a2c236 node: add plowsof to community node list 2022-11-22 23:10:06 -05:00
hinto-janaiyo
1ecd37b99d update: recreate tor client on failure in metadata loop 2022-11-19 09:43:38 -05:00
hinto-janaiyo
b3fbcf432d Update CHANGELOG.md 2022-11-18 21:47:14 -05:00
hinto-janaiyo
4e8dc52350 p2pool: add [Ping] into GUI, add [simple], add address regex check 2022-11-10 21:20:31 -05:00
hinto-janaiyo
0ea5b90647 os: fix platform specific issues 2022-11-02 18:18:41 -04:00
hinto-janaiyo
37f60e7457 icons: custom icon per OS, build.rs, cargo-bundle 2022-10-31 17:03:59 -04:00
hinto-janaiyo
ad99954b07 diagram 2022-10-21 14:16:21 -04:00
hinto-janaiyo
3de7f5f666 fix threads, gupax tab, inline about tab 2022-10-16 20:36:58 -04:00
hinto-janaiyo
81a3d80aa6 root 2022-10-09 14:08:16 -04:00