Commit graph

25 commits

Author SHA1 Message Date
hinto-janaiyo
f02a05e0b0
cargo cleanup 2022-11-26 22:26:32 -05:00
hinto-janaiyo
29a62f638a
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
290db4b95b
update: sanity check p2pool/xmrig path from user before starting
Define a strict list [&str; 4] of valid path endings for p2pool/xmrig.
This prevents users (for some reason) inputting a path to some
other (maybe very important) file which Gupax would have completely
overridden with the update binary. Windows paths end with [.exe].
2022-11-24 20:51:18 -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
0b8d65ae6e
gupax: consolidate FileWindow thread into separate function 2022-11-21 19:57:36 -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
ff98b2a303
update: recreate tor client on failure in metadata loop 2022-11-19 09:43:38 -05:00
hinto-janaiyo
1b96d3ba02
p2pool: implement async node ping in GUI 2022-11-18 14:30:55 -05:00
hinto-janaiyo
8a31a707d9
node: implement async ping 2022-11-17 22:45:57 -05:00
hinto-janaiyo
adaaca394a
gupax: disable FileSelector ui if thread exists 2022-11-17 16:53:55 -05:00
hinto-janaiyo
51df689cb0
gupax: add [FileWindow] selector for p2pool/xmrig path 2022-11-17 13:03:45 -05:00
hinto-janaiyo
1b85e59530
cleanup cargo warnings 2022-11-16 14:40:25 -05:00
hinto-janaiyo
9faf0fc9f5
p2pool: add [Advanced], add [node.toml] database, add char limit 2022-11-13 21:56:25 -05:00
hinto-janaiyo
9638f9dc5b
p2pool: add [Ping] into GUI, add [simple], add address regex check 2022-11-10 21:20:31 -05:00
hinto-janaiyo
22a03a6034
os: fix platform specific issues 2022-11-02 18:18:41 -04:00
hinto-janaiyo
b64e1e3a46
update: save [Version] to state, use runtime [og: State]
[og: State] is now completely wrapped in an [Arc<Mutex>] so that
when the update is done, it can [.lock()] the CURRENT runtime
settings of the user and save to [gupax.toml] instead of using an
old copy that was given to it at the beginning of the thread.

In practice, this means users can change settings around during
an update and the update finishing and saving to disk won't be
using their old settings, but the current ones. Wrapping all of
[og: State] within in [Arc<Mutex>] might be overkill compared to
message channels but [State] really is just a few [bool]'s, [u*],
and small [String]'s, so it's not much data.

To bypass a deadlock when comparing [og == state] every frame,
[og]'s struct fields get cloned every frame into separate
variables, then it gets compared. This is also pretty stupid, but
again, the data being cloned is so tiny that it doesn't seem to
slow anything down.
2022-11-02 13:58:44 -04:00
hinto-janaiyo
adaa3a8a42
update: use [og: State] instead of [state] for Tor bool 2022-10-28 16:14:43 -04:00
hinto-janaiyo
52070ae00c
update: move [3] retry to outer loop 2022-10-28 15:45:13 -04:00
hinto-janaiyo
8780b0684d
update/gupax: retry on failed bytes, add progress bar/spinner 2022-10-27 11:52:18 -04:00
hinto-janaiyo
6418a0ad2c
update: implement retry on [v*] failure, version diff to new vec 2022-10-26 23:15:56 -04:00
hinto-janaiyo
bf81b2c57c
update: implement tor/arti, tls, basic metadata fetch 2022-10-24 22:58:42 -04:00
hinto-janaiyo
14a5538173
fix threads, gupax tab, inline about tab 2022-10-16 20:36:58 -04:00
hinto-janaiyo
d315e5c7cb
root 2022-10-09 14:08:16 -04:00