Commit Graph

103 Commits

Author SHA1 Message Date
Jack Wills e5927f781a refactor: Remove numerous clones()
get_container_name_by_id clone, init_all_log refactor to remove clones,
remove id.clone() by using SpawnId.get_id()
2024-12-03 19:54:02 +00:00
Jack Wills c739637b91 feat: --no-stderr cli arg, closes #52
New cli argument which will remove stderr output from logs, defaults to false
2024-12-03 15:01:56 +00:00
Jack Wills 751d997a3d chore: Rust 1.83 linting 2024-11-28 14:27:47 +00:00
Jack Wills 7f42383495 refactor: input_handler 2024-11-16 14:50:25 +00:00
Jack Wills 8b9fe42468 refactor: massively speed up docker init process 2024-11-16 14:13:56 +00:00
Jack Wills fe3696e557 refactor: use check_sub for sleep calculations 2024-11-15 16:44:10 +00:00
Jack Wills 68a6551ed0 refactor: rename scheduler to heartbeat 2024-11-15 16:36:32 +00:00
Jack Wills 76ccf7c006 refactor: remove uneccessary is_running load 2024-11-15 16:30:02 +00:00
Jack Wills f0b1145651 refactor: pointless code removed 2024-11-15 16:12:54 +00:00
Jack Wills 5106a01f3d fix: calculate_usage overflow
Remove overflow path from calculate_usage, update & simplify tests for this function
2024-11-15 15:48:39 +00:00
Jack Wills 2a834d6c2f refactor: execute_command()
Include Id and DockerCommand in a DockerMessage, used by the execute_command function to reduce duplicated code
2024-11-15 15:39:06 +00:00
Vincent Masse b95c931141 Add Stderr output to Logs 2024-09-17 20:11:48 -04:00
Jack Wills 578ed9f085 revert: expect lint
Expect lint was causing issues with crates/docker builds, revert until fix is found
2024-09-07 21:25:14 +00:00
Jack Wills 2a0ab6d81c refactor: switch lints from allow(x) to expect(x)` 2024-09-06 22:48:36 +00:00
Jack Wills de87681816 feat: unhealthy status, closes #43
Highlight an unhealthy container in Orange, and display "! running" as the state,

refactor: Move dev Docker files to docker directory
2024-08-01 21:35:37 +00:00
Jack Wills 93e1279b1f chore: Rust 1.80 linting 2024-07-25 14:30:24 +00:00
Jack Wills d5d8a0dbc5 feat: filter containers, closes #37
Enable filtering of containers, toggled by pressing `F1` or `/`, build on PR #38 from MohammadShabaniSBU
2024-07-12 15:43:42 +00:00
Jack Wills a182d40a74 fix: memory display, closes #33
Memory usage calculation now uses correct methodology
2024-02-12 17:40:28 +00:00
Jack Wills d33dce3eec chore: update to ratatui v0.26.0 2024-02-05 22:11:49 +00:00
Jack Wills 65a1afcb06 feat: Added ports section, closes #21 2024-01-18 14:30:54 +00:00
Jack Wills 53543a1b72 tests: gui tests 2024-01-16 10:38:22 +00:00
Jack Wills b9df4e446a tests: AppData tests 2024-01-13 22:51:42 +00:00
Jack Wills e936bb4b78 feat: re-arrange columns + ContainerName + ContainerImage, closes #32
Have container name as first column.
Wrap name and image using the StringWrapper macro, so that can have a custom fmt::Display, which will only show the firs 29 chars of both the name and image name
2024-01-05 13:16:06 +00:00
Jack Wills 56dba91e9a refactor: variable name changes 2023-11-19 23:03:41 +00:00
Jack Wills 0e5ee143b0 feat: exec mode improvements
Use Bollard library to exec in pure Rust.

`--use-cli` cli arg, will then only try to exec into containers using
Docker.

Only try to exec into a container if the state == Running.
2023-11-18 22:44:39 +00:00
Jack Wills 40090865fd refactor: Multiple UI improvements;
Use FrameData struct to store commonly accessed data, in order to
reduce mutex locks.

rename unpause to resume

use get_selected_panel() function instead of directly
gui_state.selected_panel

debug mode now shows some usefull information
2023-11-16 11:19:42 +00:00
Jack Wills 650aa0fc91 refactor: DockerData refactors
Use a croner in the docker_data, instead of in the ui thread, as this thread will be paused when in exec mode.

is_initilised is again done in docker_data, after stats have been calculated

use bollard from git, waiting for new release due to Docker changes
2023-11-16 11:19:42 +00:00
Jack Wills c8077bca0b feat: Docker exec mode, closes #28 2023-11-16 11:19:09 +00:00
Jack Wills ca79893df5 refactor: from string impl
Remove redudant impl's, use `.as_str()`
2023-09-17 18:41:10 +00:00
Jack Wills 76fd178894 chore: release v0.3.2 2023-08-28 13:32:34 +00:00
Jack Wills 62c78dfaa5 refactor: set_error take gui_state
insert into gui_state status when setting error
2023-08-26 12:40:53 +00:00
Jack Wills 2e27462d1b refactor: loading_spin fn remove async 2023-08-24 16:26:30 +00:00
Jack Wills 1095078764 feat: Docker Host env, closes #30
oxker will check for an optional cli_arg `--host`, then the $DOCKER_HOST env, and if found use for connection.

Fix unresponsiveness in debug mode when error set
2023-08-17 15:34:18 +00:00
Jack Wills 3b61a704e2 feat: Clippy mem drop,
re-arrange .lock() ordering, and use `value_capture!`, to satisfy has_significant_drop rule
2023-06-14 20:47:24 +00:00
Jack Wills b9c125da46 fix: out of bound bug in heading_bar
use a `saturating_sub` to calculate the column_width
2023-03-30 02:22:47 +00:00
Jack Wills 937202fe34 feat: delete container, closes #27
Enable a user to delete a container. A dialog will pop up to ask the user to confirm the deletion. A user can then click on either button, or press N/Y to make a selection
2023-03-30 02:12:03 +00:00
Jack Wills 8ba37a165b refactor: reaplace unwrap_or(()) with .ok() 2023-03-09 15:18:00 +00:00
Jack Wills 5582c45403 chore: Rust 1.68.0 clippy linting 2023-03-09 15:12:51 +00:00
Jack Wills 0a1b531116 feat: Acutal fix the the mouse events output
The EnableMouseCapture from Crossterm was too broad, by only enabling a subject of the events, 1) performance is improvedand 2) and intermittent bug where mouse events were output to stdout has been removed
2023-03-02 01:09:17 +00:00
Jack Wills b8f5792d18 refactor: dead code removed 2023-03-01 19:18:36 +00:00
Jack Wills 2626250ace fix: stop_running function
Use stop_running to set the global is_running AtomicBool to false, and to also, on a seperate thread, enable & then disable mouse capture, as was experience strange issue on Linux & WSL with mouse movements being piped to stdout
2023-02-28 18:10:24 +00:00
Jack Wills 31bfaa7a95 wip: fix for mouse capture bug 2023-02-28 04:10:31 +00:00
Jack Wills 074cb957f2 refactor: docker update_everything variables 2023-02-27 14:39:00 +00:00
Jack Wills 23ad9a5fb3 docs: comment typo 2023-02-27 03:15:00 +00:00
Jack Wills cebb975cb8 fix: typos 2023-02-27 02:56:47 +00:00
Jack Wills d48e6561f9 chore: clippy todo warn 2023-02-03 21:49:19 +00:00
Jack Wills 17b71b6b41 feat: switch to scratch docker container 2023-02-03 21:40:14 +00:00
Kian-Meng Ang a0e2eb38ae docs: fix typos
Found via `typos --format brief`
2023-02-03 10:21:16 +08:00
Jack Wills c4d80061da revert: is_running AtomicBool back to SeqCst 2023-01-28 20:45:02 +00:00
Jack Wills b4488e4bdb refactor: major refactor of internal data handling
What started off as an inquisitive look at how the gui drawing blocks get the data they require in order to draw to the screen, ended up as a realisation  that it could be achieved in a better manner. Basically just use x.get(y), instead of using x[y] all over the place
2023-01-28 20:44:09 +00:00