chore: merge release-v0.7.2 into main
This commit is contained in:
+2
-12
@@ -1,16 +1,6 @@
|
|||||||
### 2024-09-07
|
### 2024-09-07
|
||||||
|
|
||||||
### Chores
|
### Reverts
|
||||||
+ dependencies updated, [d6238587ffc536f1ea93a47dd4d2ee69c36f35e3], [a564ef80318adbde9f188dd2cf38626a98793c75], [1d82ff1368f7b43e6df8478d5e7b8d682320010a], [99f05f2e5b511d039804159c92ade6c77ff360b7]
|
+ Expect lint was causing issues with crates/docker builds, revert until fix is found, [578ed9f085df0d97c451c06dab4ecbfccd894c52]
|
||||||
+ Rust 1.81.0 linting, [372f759ca467e47c373a086c6a247c150b87d4bc]
|
|
||||||
+ .devcontainer updated, [5d77f1e02a428b4e5ee1bf5466055ad17f6e05af]
|
|
||||||
|
|
||||||
### Docs
|
|
||||||
+ CHANGELOG.md duplicate removed, [16ecc5a51f7defcc9dd4f4c6e34fa5bbfc7fea78]
|
|
||||||
+ Readme raspberry pi fix, [baf68783929e5d6ac111a39dc62388cd24133da6]
|
|
||||||
+ Add installation guide to README for macOS installation via `brew install oxker`, thanks [miketheman](https://github.com/miketheman), [59817311baea628d2691765ff9387e055dce3307], [895ec6204cc8220be64be7622df6edb6ef6d795b]
|
|
||||||
|
|
||||||
### Refactors
|
|
||||||
+ switch lints from `allow(x)` to `expect(x)`, [2a0ab6d81ce4062de053a92b85f8b25ea23412b6]
|
|
||||||
|
|
||||||
see <a href='https://github.com/mrjackwills/oxker/blob/main/CHANGELOG.md'>CHANGELOG.md</a> for more details
|
see <a href='https://github.com/mrjackwills/oxker/blob/main/CHANGELOG.md'>CHANGELOG.md</a> for more details
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
# <a href='https://github.com/mrjackwills/oxker/releases/tag/v0.7.2'>v0.7.2</a>
|
||||||
|
### 2024-09-07
|
||||||
|
|
||||||
|
### Reverts
|
||||||
|
+ Expect lint was causing issues with crates/docker builds, revert until fix is found, [578ed9f0](https://github.com/mrjackwills/oxker/commit/578ed9f085df0d97c451c06dab4ecbfccd894c52)
|
||||||
|
|
||||||
# <a href='https://github.com/mrjackwills/oxker/releases/tag/v0.7.1'>v0.7.1</a>
|
# <a href='https://github.com/mrjackwills/oxker/releases/tag/v0.7.1'>v0.7.1</a>
|
||||||
### 2024-09-07
|
### 2024-09-07
|
||||||
|
|
||||||
|
|||||||
Generated
+1
-1
@@ -859,7 +859,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "oxker"
|
name = "oxker"
|
||||||
version = "0.7.1"
|
version = "0.7.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bollard",
|
"bollard",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "oxker"
|
name = "oxker"
|
||||||
version = "0.7.1"
|
version = "0.7.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Jack Wills <email@mrjackwills.com>"]
|
authors = ["Jack Wills <email@mrjackwills.com>"]
|
||||||
description = "A simple tui to view & control docker containers"
|
description = "A simple tui to view & control docker containers"
|
||||||
|
|||||||
@@ -468,7 +468,7 @@ impl ByteStats {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[expect(clippy::cast_precision_loss)]
|
#[allow(clippy::cast_precision_loss)]
|
||||||
impl Stats for ByteStats {
|
impl Stats for ByteStats {
|
||||||
fn get_value(&self) -> f64 {
|
fn get_value(&self) -> f64 {
|
||||||
self.0 as f64
|
self.0 as f64
|
||||||
@@ -608,7 +608,7 @@ impl fmt::Display for ContainerItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl ContainerItem {
|
impl ContainerItem {
|
||||||
#[expect(clippy::too_many_arguments)]
|
#[allow(clippy::too_many_arguments)]
|
||||||
/// Create a new container item
|
/// Create a new container item
|
||||||
pub fn new(
|
pub fn new(
|
||||||
created: u64,
|
created: u64,
|
||||||
@@ -660,7 +660,7 @@ impl ContainerItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Convert cpu stats into a vec for the charts function
|
/// Convert cpu stats into a vec for the charts function
|
||||||
#[expect(clippy::cast_precision_loss)]
|
#[allow(clippy::cast_precision_loss)]
|
||||||
fn get_cpu_dataset(&self) -> Vec<(f64, f64)> {
|
fn get_cpu_dataset(&self) -> Vec<(f64, f64)> {
|
||||||
self.cpu_stats
|
self.cpu_stats
|
||||||
.iter()
|
.iter()
|
||||||
@@ -670,7 +670,7 @@ impl ContainerItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Convert mem stats into a Vec for the charts function
|
/// Convert mem stats into a Vec for the charts function
|
||||||
#[expect(clippy::cast_precision_loss)]
|
#[allow(clippy::cast_precision_loss)]
|
||||||
fn get_mem_dataset(&self) -> Vec<(f64, f64)> {
|
fn get_mem_dataset(&self) -> Vec<(f64, f64)> {
|
||||||
self.mem_stats
|
self.mem_stats
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
+2
-2
@@ -151,7 +151,7 @@ impl AppData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Current time as unix timestamp
|
/// Current time as unix timestamp
|
||||||
#[expect(clippy::expect_used)]
|
#[allow(clippy::expect_used)]
|
||||||
fn get_systemtime() -> u64 {
|
fn get_systemtime() -> u64 {
|
||||||
SystemTime::now()
|
SystemTime::now()
|
||||||
.duration_since(UNIX_EPOCH)
|
.duration_since(UNIX_EPOCH)
|
||||||
@@ -933,7 +933,7 @@ impl AppData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[expect(clippy::unwrap_used)]
|
#[allow(clippy::unwrap_used)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@ use crate::app_data::DockerControls;
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
/// app errors to set in global state
|
/// app errors to set in global state
|
||||||
#[expect(unused)]
|
#[allow(unused)]
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
pub enum AppError {
|
pub enum AppError {
|
||||||
DockerCommand(DockerControls),
|
DockerCommand(DockerControls),
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ pub struct DockerData {
|
|||||||
|
|
||||||
impl DockerData {
|
impl DockerData {
|
||||||
/// Use docker stats to calculate current cpu usage
|
/// Use docker stats to calculate current cpu usage
|
||||||
#[expect(clippy::cast_precision_loss)]
|
#[allow(clippy::cast_precision_loss)]
|
||||||
// TODO FIX: this can overflow
|
// TODO FIX: this can overflow
|
||||||
fn calculate_usage(stats: &Stats) -> f64 {
|
fn calculate_usage(stats: &Stats) -> f64 {
|
||||||
let mut cpu_percentage = 0.0;
|
let mut cpu_percentage = 0.0;
|
||||||
@@ -349,7 +349,7 @@ impl DockerData {
|
|||||||
|
|
||||||
/// Handle incoming messages, container controls & all container information update
|
/// Handle incoming messages, container controls & all container information update
|
||||||
/// Spawn Docker commands off into own thread
|
/// Spawn Docker commands off into own thread
|
||||||
#[expect(clippy::too_many_lines)]
|
#[allow(clippy::too_many_lines)]
|
||||||
async fn message_handler(&mut self) {
|
async fn message_handler(&mut self) {
|
||||||
while let Some(message) = self.receiver.recv().await {
|
while let Some(message) = self.receiver.recv().await {
|
||||||
let docker = Arc::clone(&self.docker);
|
let docker = Arc::clone(&self.docker);
|
||||||
@@ -505,7 +505,7 @@ mod tests {
|
|||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[expect(clippy::too_many_lines)]
|
#[allow(clippy::too_many_lines)]
|
||||||
fn gen_stats(x: u64, y: u64) -> Stats {
|
fn gen_stats(x: u64, y: u64) -> Stats {
|
||||||
Stats {
|
Stats {
|
||||||
read: String::new(),
|
read: String::new(),
|
||||||
@@ -623,7 +623,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[expect(clippy::float_cmp)]
|
#[allow(clippy::float_cmp)]
|
||||||
/// Test the stats calculator, had to cheat here to get round input/outputs
|
/// Test the stats calculator, had to cheat here to get round input/outputs
|
||||||
fn test_calculate_usage_no_previous_cpu() {
|
fn test_calculate_usage_no_previous_cpu() {
|
||||||
let stats = gen_stats(1_000_000_000, 900_000_000);
|
let stats = gen_stats(1_000_000_000, 900_000_000);
|
||||||
|
|||||||
+1
-1
@@ -163,7 +163,7 @@ async fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[expect(clippy::unwrap_used)]
|
#[allow(clippy::unwrap_used)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
use bollard::service::{ContainerSummary, Port};
|
use bollard::service::{ContainerSummary, Port};
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@ use tracing::error;
|
|||||||
use crate::{ENV_KEY, ENV_VALUE};
|
use crate::{ENV_KEY, ENV_VALUE};
|
||||||
|
|
||||||
#[derive(Parser, Debug, Clone)]
|
#[derive(Parser, Debug, Clone)]
|
||||||
#[expect(clippy::struct_excessive_bools)]
|
#[allow(clippy::struct_excessive_bools)]
|
||||||
#[command(version, about)]
|
#[command(version, about)]
|
||||||
pub struct Args {
|
pub struct Args {
|
||||||
/// Docker update interval in ms, minimum effectively 1000
|
/// Docker update interval in ms, minimum effectively 1000
|
||||||
@@ -47,7 +47,7 @@ pub struct Args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
#[expect(clippy::struct_excessive_bools)]
|
#[allow(clippy::struct_excessive_bools)]
|
||||||
pub struct CliArgs {
|
pub struct CliArgs {
|
||||||
pub color: bool,
|
pub color: bool,
|
||||||
pub docker_interval: u32,
|
pub docker_interval: u32,
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ pub fn chart(f: &mut Frame, area: Rect, app_data: &Arc<Mutex<AppData>>) {
|
|||||||
.data(&mem.0)];
|
.data(&mem.0)];
|
||||||
|
|
||||||
let cpu_stats = CpuStats::new(cpu.0.last().map_or(0.00, |f| f.1));
|
let cpu_stats = CpuStats::new(cpu.0.last().map_or(0.00, |f| f.1));
|
||||||
#[expect(clippy::cast_possible_truncation, clippy::cast_sign_loss)]
|
#[allow(clippy::cast_possible_truncation, clippy::cast_sign_loss)]
|
||||||
let mem_stats = ByteStats::new(mem.0.last().map_or(0, |f| f.1 as u64));
|
let mem_stats = ByteStats::new(mem.0.last().map_or(0, |f| f.1 as u64));
|
||||||
let cpu_chart = make_chart(cpu.2, "cpu", cpu_dataset, &cpu_stats, &cpu.1);
|
let cpu_chart = make_chart(cpu.2, "cpu", cpu_dataset, &cpu_stats, &cpu.1);
|
||||||
let mem_chart = make_chart(mem.2, "memory", mem_dataset, &mem_stats, &mem.1);
|
let mem_chart = make_chart(mem.2, "memory", mem_dataset, &mem_stats, &mem.1);
|
||||||
@@ -1065,7 +1065,7 @@ fn popup(text_lines: usize, text_width: usize, r: Rect, box_location: BoxLocatio
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[expect(clippy::unwrap_used)]
|
#[allow(clippy::unwrap_used)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
use std::{ops::RangeInclusive, sync::Arc};
|
use std::{ops::RangeInclusive, sync::Arc};
|
||||||
@@ -2110,7 +2110,7 @@ mod tests {
|
|||||||
// Charts panel //
|
// Charts panel //
|
||||||
// ************ //
|
// ************ //
|
||||||
|
|
||||||
#[expect(clippy::cast_precision_loss)]
|
#[allow(clippy::cast_precision_loss)]
|
||||||
// Add fixed data to the cpu & mem vecdeques
|
// Add fixed data to the cpu & mem vecdeques
|
||||||
fn insert_chart_data(setup: &TuiTestSetup) {
|
fn insert_chart_data(setup: &TuiTestSetup) {
|
||||||
for i in 1..=10 {
|
for i in 1..=10 {
|
||||||
@@ -2834,7 +2834,7 @@ mod tests {
|
|||||||
// ********** //
|
// ********** //
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[expect(clippy::cognitive_complexity, clippy::too_many_lines)]
|
#[allow(clippy::cognitive_complexity, clippy::too_many_lines)]
|
||||||
/// Filter row is drawn correctly & colors are correct
|
/// Filter row is drawn correctly & colors are correct
|
||||||
/// Colours change when filter_by option is changed
|
/// Colours change when filter_by option is changed
|
||||||
fn test_draw_blocks_filter_row() {
|
fn test_draw_blocks_filter_row() {
|
||||||
@@ -3372,7 +3372,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[expect(clippy::too_many_lines)]
|
#[allow(clippy::too_many_lines)]
|
||||||
/// Check that the whole layout is drawn correctly
|
/// Check that the whole layout is drawn correctly
|
||||||
fn test_draw_blocks_whole_layout_with_filter() {
|
fn test_draw_blocks_whole_layout_with_filter() {
|
||||||
let (w, h) = (160, 30);
|
let (w, h) = (160, 30);
|
||||||
|
|||||||
+1
-1
@@ -58,7 +58,7 @@ pub enum DeleteButton {
|
|||||||
No,
|
No,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[expect(unused)]
|
#[allow(unused)]
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
pub enum BoxLocation {
|
pub enum BoxLocation {
|
||||||
TopLeft,
|
TopLeft,
|
||||||
|
|||||||
Reference in New Issue
Block a user