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
2f6bb53027
p2pool: use indexing for nodes instead of for loop comparisons
2022-11-19 13:03:33 -05:00
hinto-janaiyo
ff98b2a303
update: recreate tor client on failure in metadata loop
2022-11-19 09:43:38 -05:00
hinto-janaiyo
14c7664177
Update CHANGELOG.md
2022-11-18 21:47:14 -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
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
bd6f369b56
p2pool: use [Arc<Mutex<Ping>>] as intermediary for node auto-select
2022-11-16 17:41:41 -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
6b24a60084
add ed25519 PGP key
2022-11-14 22:11:22 -05:00
hinto-janaiyo
c4311acdec
main: more strict [gupax_update_] deletion with regex
2022-11-14 22:11:00 -05:00
hinto-janaiyo
4564070d92
p2pool: prevent deleting [0] node_vec and [panic!]
2022-11-14 22:10:19 -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
3f4124622c
add [init_auto()] for auto-* options
2022-11-10 23:42:57 -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
20f5e2d917
icons: custom icon per OS, build.rs, cargo-bundle
2022-10-31 17:03:59 -04:00
hinto-janaiyo
f83bf5e2cc
egui: fix windows VM OpenGL panics, allow [F11] fullscreen
2022-10-29 21:56:17 -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
446cb9db85
update: implement download, 302 HTTP redirect, extraction
2022-10-25 22:50:53 -04:00
hinto-janaiyo
42373a37fe
update: dynamically return [Tor+TLS|TLS-only] HTTP client at runtime
2022-10-25 18:39:02 -04:00
hinto-janaiyo
bf81b2c57c
update: implement tor/arti, tls, basic metadata fetch
2022-10-24 22:58:42 -04:00
hinto-janaiyo
5a686aaa1d
diagram
2022-10-21 14:16:21 -04:00
hinto-janaiyo
5e65d07470
state.rs: add State::merge()
2022-10-18 15:26:21 -04:00
hinto-janaiyo
6a1db35c10
add global scale, add 3 panels with sizing: top/bottom, mid
2022-10-16 22:29:18 -04:00
hinto-janaiyo
14a5538173
fix threads, gupax tab, inline about tab
2022-10-16 20:36:58 -04:00
hinto-janaiyo
773bc65593
add basic [--flags]
2022-10-16 17:29:24 -04:00
hinto-janaiyo
ed7ddeeda1
connect functions with [State/state.rs]
2022-10-15 15:15:27 -04:00
hinto-janaiyo
dafb8fc18e
node.rs: randomly send [1-5] RPC calls to prevent fingerprinting
2022-10-15 11:24:02 -04:00
hinto-janaiyo
c93a07b7a5
add [node.rs]: ping community nodes, find fastest
2022-10-14 17:22:25 -04:00
hinto-janaiyo
ab9b98a819
add toml.rs/constants.rs, ask_before_quit screen
2022-10-13 09:17:32 -04:00
hinto-janaiyo
d315e5c7cb
root
2022-10-09 14:08:16 -04:00