mirror of
https://github.com/Cyrix126/gupaxx.git
synced 2024-11-16 15:27:46 +00:00
feat: Release 1.1.0
This commit is contained in:
parent
228d1e8f8e
commit
9434cce1fe
13 changed files with 52 additions and 14 deletions
32
CHANGELOG.md
32
CHANGELOG.md
|
@ -1,3 +1,35 @@
|
||||||
|
# v1.1.0
|
||||||
|
Stable release, bugfixes and new features.
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
### UI
|
||||||
|
- Update xmrig and p2pool only if bundle button is checked.
|
||||||
|
- Default value for bundle button depends of bundle or standalone version.
|
||||||
|
- Ask user to restart Gupaxx after updating.
|
||||||
|
- Prevent user to update twice without restart.
|
||||||
|
### Internal
|
||||||
|
- Bump deps
|
||||||
|
- Update CI to produce different Gupaxx binary for standalone and bundle version.
|
||||||
|
- Update tools release to include different default value depending of standalone and bundle version.
|
||||||
|
- Use bundled XMRig and P2Pool of Gupaxx instead of upstream version.
|
||||||
|
- Update test
|
||||||
|
### Doc
|
||||||
|
- Update DIFFERENCES and ARCHITECTURE to reflect updates differences.
|
||||||
|
## Fixes
|
||||||
|
- fix temporary directories of updates not deleted introduced in fork
|
||||||
|
- fix https://github.com/Cyrix126/gupaxx/issues/3
|
||||||
|
- fix https://github.com/Cyrix126/gupaxx/issues/4
|
||||||
|
- fix https://github.com/Cyrix126/gupaxx/issues/5
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
### Do not use built in updates to upgrade to this version
|
||||||
|
This update bump the 1.x.0 number, which would mean breaking changes. However, it is only because updating previously from Gupaxx (in =<1.0.0) without manually downloading from github release would upgrade P2Pool and XMRig from upstream, which is a behaviour that has been modified in this release.
|
||||||
|
No configuration file change is needed, just update from github for this release.
|
||||||
|
|
||||||
|
## Bundled Versions
|
||||||
|
* [`P2Pool v3.10`](https://github.com/SChernykh/p2pool/releases/tag/v3.10)
|
||||||
|
* [`XMRig v6.21.1`](https://github.com/xmrig/xmrig/releases/tag/v6.21.1)
|
||||||
|
|
||||||
# v1.0.0
|
# v1.0.0
|
||||||
Stable release
|
Stable release
|
||||||
|
|
||||||
|
|
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -2125,7 +2125,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gupaxx"
|
name = "gupaxx"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"benri",
|
"benri",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
cargo-features = ["profile-rustflags"]
|
cargo-features = ["profile-rustflags"]
|
||||||
[package]
|
[package]
|
||||||
name = "gupaxx"
|
name = "gupaxx"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
authors = ["cyrix126 <gupaxx@baermail.fr>"]
|
authors = ["cyrix126 <gupaxx@baermail.fr>"]
|
||||||
description = "Fork of Gupax integrating the XMRvsBeast Raffle "
|
description = "Fork of Gupax integrating the XMRvsBeast Raffle "
|
||||||
documentation = "https://github.com/cyrix126/gupaxx"
|
documentation = "https://github.com/cyrix126/gupaxx"
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
- [x] adapt README for XvB
|
- [x] adapt README for XvB
|
||||||
- [x] beta release
|
- [x] beta release
|
||||||
- [x] stable release
|
- [x] stable release
|
||||||
- [ ] video tutorial to set up XvB Tab
|
- [x] video tutorial to set up XvB Tab
|
||||||
- [x] adapt doc for new code
|
- [x] adapt doc for new code
|
||||||
- [x] cargo package metadata
|
- [x] cargo package metadata
|
||||||
- [x] pgp signatures
|
- [x] pgp signatures
|
||||||
|
|
|
@ -60,6 +60,7 @@ pub mod resize;
|
||||||
// The state of the outer main [App].
|
// The state of the outer main [App].
|
||||||
// See the [State] struct in [state.rs] for the
|
// See the [State] struct in [state.rs] for the
|
||||||
// actual inner state of the tab settings.
|
// actual inner state of the tab settings.
|
||||||
|
#[allow(dead_code)]
|
||||||
pub struct App {
|
pub struct App {
|
||||||
// Misc state
|
// Misc state
|
||||||
pub tab: Tab, // What tab are we on?
|
pub tab: Tab, // What tab are we on?
|
||||||
|
|
|
@ -67,7 +67,7 @@ const REMOTE_NODE_MAX_CHARS: usize = {
|
||||||
assert!(len != 0);
|
assert!(len != 0);
|
||||||
len
|
len
|
||||||
};
|
};
|
||||||
|
#[allow(dead_code)]
|
||||||
pub struct RemoteNode {
|
pub struct RemoteNode {
|
||||||
pub ip: &'static str,
|
pub ip: &'static str,
|
||||||
pub location: &'static str,
|
pub location: &'static str,
|
||||||
|
@ -278,6 +278,7 @@ impl NodeData {
|
||||||
//
|
//
|
||||||
// This struct leaves out most fields on purpose,
|
// This struct leaves out most fields on purpose,
|
||||||
// we only need a few to verify the node is ok.
|
// we only need a few to verify the node is ok.
|
||||||
|
#[allow(dead_code)] // allow dead code because Deserialize doesn't use all the fields in this program
|
||||||
#[derive(Debug, serde::Deserialize)]
|
#[derive(Debug, serde::Deserialize)]
|
||||||
pub struct GetInfo<'a> {
|
pub struct GetInfo<'a> {
|
||||||
pub id: &'a str,
|
pub id: &'a str,
|
||||||
|
|
|
@ -530,13 +530,11 @@ impl Update {
|
||||||
path.display()
|
path.display()
|
||||||
);
|
);
|
||||||
// if bundled, create directory for p2pool and xmrig if not present
|
// if bundled, create directory for p2pool and xmrig if not present
|
||||||
if lock!(og).gupax.bundled {
|
if lock!(og).gupax.bundled && (name == P2POOL_BINARY || name == XMRIG_BINARY) {
|
||||||
if name == P2POOL_BINARY || name == XMRIG_BINARY {
|
std::fs::create_dir_all(
|
||||||
std::fs::create_dir_all(
|
path.parent()
|
||||||
path.parent()
|
.ok_or_else(|| anyhow!(format!("{} path failed", name)))?,
|
||||||
.ok_or_else(|| anyhow!(format!("{} path failed", name)))?,
|
)?;
|
||||||
)?;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Move downloaded path into old path
|
// Move downloaded path into old path
|
||||||
std::fs::rename(entry.path(), path)?;
|
std::fs::rename(entry.path(), path)?;
|
||||||
|
|
|
@ -125,6 +125,7 @@ impl Default for Sys {
|
||||||
//---------------------------------------------------------------------------------------------------- [Process] Struct
|
//---------------------------------------------------------------------------------------------------- [Process] Struct
|
||||||
// This holds all the state of a (child) process.
|
// This holds all the state of a (child) process.
|
||||||
// The main GUI thread will use this to display console text, online state, etc.
|
// The main GUI thread will use this to display console text, online state, etc.
|
||||||
|
#[allow(dead_code)]
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Process {
|
pub struct Process {
|
||||||
pub name: ProcessName, // P2Pool or XMRig?
|
pub name: ProcessName, // P2Pool or XMRig?
|
||||||
|
|
|
@ -666,6 +666,7 @@ impl ImgXmrig {
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------- Public XMRig API
|
//---------------------------------------------------------------------------------------------------- Public XMRig API
|
||||||
|
#[allow(dead_code)]
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct PubXmrigApi {
|
pub struct PubXmrigApi {
|
||||||
pub output: String,
|
pub output: String,
|
||||||
|
|
|
@ -361,10 +361,11 @@ impl Helper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------------------------------- Public XvB API
|
//---------------------------------------------------------------------------------------------------- Public XvB API
|
||||||
|
|
||||||
#[derive(Debug, Clone, Default)]
|
#[derive(Debug, Clone, Default)]
|
||||||
pub struct PubXvbApi {
|
pub struct PubXvbApi {
|
||||||
pub output: String,
|
pub output: String,
|
||||||
pub uptime: u64,
|
pub _uptime: u64,
|
||||||
pub xvb_sent_last_hour_samples: SamplesAverageHour,
|
pub xvb_sent_last_hour_samples: SamplesAverageHour,
|
||||||
pub p2pool_sent_last_hour_samples: SamplesAverageHour,
|
pub p2pool_sent_last_hour_samples: SamplesAverageHour,
|
||||||
pub stats_pub: XvbPubStats,
|
pub stats_pub: XvbPubStats,
|
||||||
|
|
|
@ -17,6 +17,7 @@ use crate::{
|
||||||
|
|
||||||
use super::{rounds::XvbRound, PubXvbApi};
|
use super::{rounds::XvbRound, PubXvbApi};
|
||||||
|
|
||||||
|
#[allow(dead_code)] // because deserialize doesn't use all the fields
|
||||||
#[derive(Debug, Clone, Default, Deserialize)]
|
#[derive(Debug, Clone, Default, Deserialize)]
|
||||||
pub struct XvbPubStats {
|
pub struct XvbPubStats {
|
||||||
pub time_remain: u32, // remaining time of round in minutes
|
pub time_remain: u32, // remaining time of round in minutes
|
||||||
|
|
|
@ -87,12 +87,13 @@ fn main() {
|
||||||
|
|
||||||
// Run Gupax.
|
// Run Gupax.
|
||||||
info!("/*************************************/ Init ... OK /*************************************/");
|
info!("/*************************************/ Init ... OK /*************************************/");
|
||||||
let _ = eframe::run_native(
|
eframe::run_native(
|
||||||
&app.name_version.clone(),
|
&app.name_version.clone(),
|
||||||
options,
|
options,
|
||||||
Box::new(move |cc| {
|
Box::new(move |cc| {
|
||||||
egui_extras::install_image_loaders(&cc.egui_ctx);
|
egui_extras::install_image_loaders(&cc.egui_ctx);
|
||||||
Box::new(App::cc(cc, resolution, app))
|
Box::new(App::cc(cc, resolution, app))
|
||||||
}),
|
}),
|
||||||
);
|
)
|
||||||
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ use std::{
|
||||||
};
|
};
|
||||||
use zeroize::Zeroize;
|
use zeroize::Zeroize;
|
||||||
|
|
||||||
|
#[allow(dead_code)] // for dummy value windows
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct SudoState {
|
pub struct SudoState {
|
||||||
pub windows: bool, // If this bool is set, this struct is just a dummy so I don't have to change my type signatures :)
|
pub windows: bool, // If this bool is set, this struct is just a dummy so I don't have to change my type signatures :)
|
||||||
|
|
Loading…
Reference in a new issue