From 034cefd3e3d318c0f7031377dc8f7b268fc09335 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 14:34:54 +0000 Subject: [PATCH 01/14] chore(deps): bump crate-ci/typos from 1.45.1 to 1.47.2 Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.45.1 to 1.47.2. - [Release notes](https://github.com/crate-ci/typos/releases) - [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md) - [Commits](https://github.com/crate-ci/typos/compare/v1.45.1...v1.47.2) --- updated-dependencies: - dependency-name: crate-ci/typos dependency-version: 1.47.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/typos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml index 317c4a1..4ea52a6 100644 --- a/.github/workflows/typos.yml +++ b/.github/workflows/typos.yml @@ -12,4 +12,4 @@ jobs: steps: - uses: actions/checkout@v6 - - uses: crate-ci/typos@v1.45.1 + - uses: crate-ci/typos@v1.47.2 From 9023e9675de2993f534a13e07d298a16130fcb5a Mon Sep 17 00:00:00 2001 From: es-sai-fi Date: Tue, 12 May 2026 16:10:37 -0500 Subject: [PATCH 02/14] fix: nix packaging --- .gitignore | 1 + package.nix | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a15b0e5..e499c21 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /*.gif /AGENTS.md /**/.DS_Store +/result diff --git a/package.nix b/package.nix index 68f3303..8d2d4cd 100644 --- a/package.nix +++ b/package.nix @@ -3,12 +3,16 @@ rustPlatform, }: rustPlatform.buildRustPackage (finalAttrs: { - name = "gitv"; + pname = "gitv"; + version = "dev"; src = ./.; - cargoLock = { - lockFile = ./Cargo.lock; - allowBuiltinFetchGit = true; + + cargoLock.lockFile = ./Cargo.lock; + + env = { + VERGEN_GIT_DESCRIBE = finalAttrs.version; + VERGEN_BUILD_DATE = "unknown"; }; meta = { From 60c810b815e9c8c27679589db58119a475b81f7f Mon Sep 17 00:00:00 2001 From: es-sai-fi Date: Tue, 12 May 2026 14:53:49 -0500 Subject: [PATCH 03/14] ops: add nix.yml --- .github/workflows/nix.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/nix.yml diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml new file mode 100644 index 0000000..405ce9a --- /dev/null +++ b/.github/workflows/nix.yml @@ -0,0 +1,18 @@ +name: Nix CI + +on: + push: + branches: ["main"] + pull_request: + branches: ["*"] + +jobs: + nix: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + - name: Install nix + uses: cachix/install-nix-action@v31 + - name: Check flake + run: nix flake check From 90d62b8be8efe1c6a2459081255299b4255504e5 Mon Sep 17 00:00:00 2001 From: JayanAXHF Date: Wed, 29 Apr 2026 17:26:27 +0530 Subject: [PATCH 04/14] fix: fix external editor lagging a lot --- src/ui/components/issue_conversation.rs | 47 ++--- src/ui/mod.rs | 263 ++++++++++++++++++++---- 2 files changed, 233 insertions(+), 77 deletions(-) diff --git a/src/ui/components/issue_conversation.rs b/src/ui/components/issue_conversation.rs index fc73a61..d2a9c27 100644 --- a/src/ui/components/issue_conversation.rs +++ b/src/ui/components/issue_conversation.rs @@ -42,7 +42,7 @@ use crate::{ app::GITHUB_CLIENT, errors::AppError, ui::{ - Action, + Action, ExternalEditorTarget, components::{ Component, help::HelpElementKind, @@ -790,40 +790,18 @@ impl IssueConversation { let Some(action_tx) = self.action_tx.clone() else { return; }; - if action_tx - .send(Action::EditorModeChanged(true)) - .await - .is_err() - { - return; - } + let target = match target { + MessageTarget::IssueBody(_) => ExternalEditorTarget::IssueBody, + MessageTarget::Comment(comment_id) => ExternalEditorTarget::Comment { comment_id }, + }; - tokio::spawn(async move { - let result = tokio::task::spawn_blocking(move || { - ratatui::restore(); - let edited = edit::edit(&initial_body).map_err(|err| err.to_string()); - let _ = ratatui::init(); - edited + let _ = action_tx + .send(Action::OpenExternalEditor { + issue_number, + target, + initial_body, }) - .await - .map_err(|err| err.to_string()) - .and_then(|edited| edited.map_err(|err| err.replace('\n', " "))); - - let _ = action_tx.send(Action::EditorModeChanged(false)).await; - let action = match target { - MessageTarget::IssueBody(_) => Action::IssueBodyEditFinished { - issue_number, - result, - }, - MessageTarget::Comment(comment_id) => Action::IssueCommentEditFinished { - issue_number, - comment_id, - result, - }, - }; - let _ = action_tx.send(action).await; - let _ = action_tx.send(Action::ForceRender).await; - }); + .await; } async fn patch_message(&mut self, issue_number: u64, target: MessageTarget, body: String) { @@ -1998,7 +1976,8 @@ impl Component for IssueConversation { } if self .current .as_ref() - .is_some_and(|seed| seed.number == number) => { + .is_some_and(|seed| seed.number == number) => + { self.reaction_error = None; self.body_reaction_number = Some(number); self.body_reactions = Some(reactions); diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 5cf1fe7..09bb482 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -54,13 +54,13 @@ use ratatui::{ use std::{ collections::HashMap, fmt::Display, - io::stdout, + io::{Stdout, stdout}, sync::{Arc, OnceLock, RwLock}, time::{self}, }; use tachyonfx::{EffectManager, Interpolation, fx}; use termprofile::{DetectorSettings, TermProfile}; -use tokio::{select, sync::mpsc::Sender}; +use tokio::{select, sync::mpsc::Sender, task::JoinHandle}; use tokio_util::sync::CancellationToken; use tracing::{error, info, instrument, trace}; @@ -129,6 +129,7 @@ struct App { help: Option<&'static [HelpElementKind]>, in_help: bool, in_editor: bool, + event_pump: Option, last_frame: time::Instant, current_screen: MainScreen, last_focused: Option, @@ -137,6 +138,17 @@ struct App { bookmarks: Arc>, } +struct EventPump { + cancel: CancellationToken, + task: JoinHandle<()>, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ExternalEditorTarget { + IssueBody, + Comment { comment_id: u64 }, +} + #[derive(Debug, Default, Clone)] pub struct AppState { repo: String, @@ -224,6 +236,7 @@ impl App { in_help: false, last_frame: time::Instant::now(), in_editor: false, + event_pump: None, current_screen: MainScreen::default(), help: None, action_tx, @@ -243,9 +256,8 @@ impl App { } pub async fn run( &mut self, - terminal: &mut Terminal>, + terminal: &mut Terminal>, ) -> Result<(), AppError> { - let ctok = self.cancel_action.clone(); let action_tx = self.action_tx.clone(); for component in self.components.iter_mut() { component.register_action_tx(action_tx.clone()); @@ -254,29 +266,7 @@ impl App { if let Err(err) = setup_terminal() { self.capture_error(err); } - - tokio::spawn(async move { - let mut tick_interval = tokio::time::interval(TICK_RATE); - let mut event_stream = EventStream::new(); - - loop { - let event = select! { - _ = ctok.cancelled() => break, - _ = tick_interval.tick() => Action::Tick, - kevent = event_stream.next().fuse() => { - match kevent { - Some(Ok(kevent)) => Action::AppEvent(kevent), - Some(Err(..)) => Action::None, - None => break, - } - } - }; - if action_tx.send(event).await.is_err() { - break; - } - } - Ok::<(), AppError>(()) - }); + self.start_event_pump(); focus_noret(self); if let Some(ref mut focus) = self.focus { if let Some(last) = self.components.last() { @@ -293,14 +283,7 @@ impl App { let mut should_draw_error_popup = false; let mut full_redraw = false; if let Some(ref action) = action { - if let Action::EditorModeChanged(enabled) = action { - self.in_editor = *enabled; - if *enabled { - continue; - } - full_redraw = true; - } - if self.in_editor && matches!(action, Action::Tick | Action::AppEvent(_)) { + if self.in_editor && should_ignore_action_in_editor(action) { continue; } for component in self.components.iter_mut() { @@ -398,12 +381,28 @@ impl App { should_draw_error_popup = true; } } + Some(Action::OpenExternalEditor { + issue_number, + target, + ref initial_body, + }) => { + full_redraw = true; + if let Err(err) = self + .run_external_editor_session( + terminal, + issue_number, + target, + initial_body.clone(), + ) + .await + { + self.capture_error(err); + should_draw_error_popup = true; + } + } Some(Action::SetHelp(help)) => { self.help = Some(help); } - Some(Action::EditorModeChanged(enabled)) => { - self.in_editor = enabled; - } Some(Action::ChangeIssueScreen(screen)) => { self.current_screen = screen; focus_noret(self); @@ -431,6 +430,7 @@ impl App { } } if self.cancel_action.is_cancelled() { + self.stop_event_pump().await; if let Ok(bm) = self.bookmarks.try_write() { if let Err(err) = bm.write_to_file() { error!(error = %err, "failed to write bookmarks to file on shutdown"); @@ -446,6 +446,92 @@ impl App { Ok(()) } + + fn start_event_pump(&mut self) { + if self.event_pump.is_some() { + return; + } + + let cancel = CancellationToken::new(); + let ctok = self.cancel_action.clone(); + let event_cancel = cancel.clone(); + let action_tx = self.action_tx.clone(); + let task = tokio::spawn(async move { + let mut tick_interval = tokio::time::interval(TICK_RATE); + let mut event_stream = EventStream::new(); + + loop { + let event = select! { + _ = ctok.cancelled() => break, + _ = event_cancel.cancelled() => break, + _ = tick_interval.tick() => Action::Tick, + kevent = event_stream.next().fuse() => { + match kevent { + Some(Ok(kevent)) => Action::AppEvent(kevent), + Some(Err(..)) => Action::None, + None => break, + } + } + }; + if action_tx.send(event).await.is_err() { + break; + } + } + }); + + self.event_pump = Some(EventPump { cancel, task }); + } + + async fn stop_event_pump(&mut self) { + let Some(EventPump { cancel, task }) = self.event_pump.take() else { + return; + }; + + cancel.cancel(); + if let Err(err) = task.await { + error!(error = %err, "event pump task failed to join"); + } + } + + async fn run_external_editor_session( + &mut self, + terminal: &mut Terminal>, + issue_number: u64, + target: ExternalEditorTarget, + initial_body: String, + ) -> Result<(), AppError> { + self.in_editor = true; + self.stop_event_pump().await; + + ratatui::restore(); + finish_teardown()?; + + let result = tokio::task::spawn_blocking(move || { + edit::edit(&initial_body).map_err(|err| err.to_string()) + }) + .await + .map_err(|err| AppError::Other(anyhow!("editor task failed: {err}")))? + .map_err(|err| err.replace('\n', " ")); + + *terminal = ratatui::init(); + setup_terminal()?; + self.start_event_pump(); + self.in_editor = false; + + self.action_tx + .send(editor_result_action(issue_number, target, result)) + .await + .map_err(|err| AppError::Other(anyhow!("failed to deliver editor result: {err}")))?; + self.action_tx + .send(Action::ForceRender) + .await + .map_err(|err| { + AppError::Other(anyhow!("failed to schedule redraw after editor: {err}")) + })?; + + Ok(()) + } + #[instrument(skip(self))] async fn handle_event(&mut self, event: &crossterm::event::Event) -> Result<(), AppError> { use crossterm::event::Event::Key; @@ -557,10 +643,7 @@ impl App { .any(|component| component.should_render() && component.is_animating()) } - fn draw( - &mut self, - terminal: &mut Terminal>, - ) -> Result<(), AppError> { + fn draw(&mut self, terminal: &mut Terminal>) -> Result<(), AppError> { terminal.draw(|f| { let elapsed = self.last_frame.elapsed(); self.last_frame = time::Instant::now(); @@ -626,6 +709,28 @@ impl App { } } +fn should_ignore_action_in_editor(action: &Action) -> bool { + matches!(action, Action::Tick | Action::AppEvent(_)) +} + +fn editor_result_action( + issue_number: u64, + target: ExternalEditorTarget, + result: std::result::Result, +) -> Action { + match target { + ExternalEditorTarget::IssueBody => Action::IssueBodyEditFinished { + issue_number, + result, + }, + ExternalEditorTarget::Comment { comment_id } => Action::IssueCommentEditFinished { + issue_number, + comment_id, + result, + }, + } +} + #[derive(Debug, Clone)] #[non_exhaustive] pub enum Action { @@ -771,7 +876,11 @@ pub enum Action { ForceFocusChange, ForceFocusChangeRev, SetHelp(&'static [HelpElementKind]), - EditorModeChanged(bool), + OpenExternalEditor { + issue_number: u64, + target: ExternalEditorTarget, + initial_body: String, + }, ToastAction(ratatui_toaster::ToastMessage), } @@ -863,3 +972,71 @@ fn toast_action(message: impl Into, toast_type: ratatui_toaster::ToastTy position: TopRight, }) } + +#[cfg(test)] +mod tests { + use super::{ + Action, ExternalEditorTarget, editor_result_action, should_ignore_action_in_editor, + }; + use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers}; + + #[test] + fn editor_mode_only_suppresses_tick_and_terminal_events() { + assert!(should_ignore_action_in_editor(&Action::Tick)); + assert!(should_ignore_action_in_editor(&Action::AppEvent( + Event::Key(KeyEvent::new(KeyCode::Char('j'), KeyModifiers::NONE),) + ))); + assert!(!should_ignore_action_in_editor(&Action::ForceRender)); + assert!(!should_ignore_action_in_editor( + &Action::IssueBodyEditFinished { + issue_number: 7, + result: Ok("body".to_string()), + } + )); + } + + #[test] + fn issue_body_editor_result_targets_issue_body_action() { + let action = editor_result_action( + 42, + ExternalEditorTarget::IssueBody, + Ok("updated body".to_string()), + ); + + match action { + Action::IssueBodyEditFinished { + issue_number, + result, + } => { + assert_eq!(issue_number, 42); + assert_eq!(result.expect("editor result should be ok"), "updated body"); + } + other => panic!("unexpected action: {other:?}"), + } + } + + #[test] + fn comment_editor_result_targets_comment_action() { + let action = editor_result_action( + 42, + ExternalEditorTarget::Comment { comment_id: 9 }, + Err("cancelled".to_string()), + ); + + match action { + Action::IssueCommentEditFinished { + issue_number, + comment_id, + result, + } => { + assert_eq!(issue_number, 42); + assert_eq!(comment_id, 9); + assert_eq!( + result.expect_err("editor result should be err"), + "cancelled" + ); + } + other => panic!("unexpected action: {other:?}"), + } + } +} From 5239158badcff2daddc14c58daa94ae3428a714f Mon Sep 17 00:00:00 2001 From: Jayan Sunil <73993003+JayanAXHF@users.noreply.github.com> Date: Mon, 8 Jun 2026 16:50:16 +0530 Subject: [PATCH 05/14] fix(ops): fixed bech workflow not finding keyring and dbus --- .github/workflows/bench.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 73a6d60..0f0c7fd 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -18,6 +18,10 @@ jobs: with: persist-credentials: false - uses: dtolnay/rust-toolchain@stable + - name: Install native deps + run: | + sudo apt-get update + sudo apt-get install -y pkg-config libdbus-1-dev - uses: Swatinem/rust-cache@v2 with: save-if: ${{ github.ref == 'refs/heads/main' }} @@ -40,6 +44,10 @@ jobs: with: persist-credentials: false - uses: dtolnay/rust-toolchain@stable + - name: Install native deps + run: | + sudo apt-get update + sudo apt-get install -y pkg-config libdbus-1-dev - uses: Swatinem/rust-cache@v2 with: save-if: ${{ github.ref == 'refs/heads/main' }} From 8fb8c5ae5f915bfef6d47491d8ce4dc571f51f47 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:33:49 +0000 Subject: [PATCH 06/14] chore(deps): bump actions/checkout from 4 to 7 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/bench.yml | 4 ++-- .github/workflows/build.yml | 2 +- .github/workflows/cd.yml | 2 +- .github/workflows/nix.yml | 2 +- .github/workflows/release-plz.yml | 2 +- .github/workflows/rust.yml | 2 +- .github/workflows/typos.yml | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 0f0c7fd..9918477 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -14,7 +14,7 @@ jobs: if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && vars.BENCHER_PROJECT != '' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: persist-credentials: false - uses: dtolnay/rust-toolchain@stable @@ -40,7 +40,7 @@ jobs: permissions: pull-requests: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: persist-credentials: false - uses: dtolnay/rust-toolchain@stable diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9ccf3dc..909c409 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Build run: cargo build --verbose - name: Clippy diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 959b1e4..196950e 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -44,7 +44,7 @@ jobs: timeout-minutes: 60 steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: persist-credentials: false - name: Install Rust toolchain diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 405ce9a..78893f6 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install nix uses: cachix/install-nix-action@v31 - name: Check flake diff --git a/.github/workflows/release-plz.yml b/.github/workflows/release-plz.yml index ed19323..08a69dd 100644 --- a/.github/workflows/release-plz.yml +++ b/.github/workflows/release-plz.yml @@ -16,7 +16,7 @@ jobs: steps: - &checkout name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 67b0ffb..486cd6c 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Run tests run: cargo test --verbose - name: Run benchmarks diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml index 4ea52a6..ff8715d 100644 --- a/.github/workflows/typos.yml +++ b/.github/workflows/typos.yml @@ -11,5 +11,5 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: crate-ci/typos@v1.47.2 + - uses: actions/checkout@v7 + - uses: crate-ci/typos@v1.45.1 From 687b8577e2c04abd6a3d47ebd2879e13ca43aa3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Apr 2026 11:33:08 +0000 Subject: [PATCH 07/14] chore(deps): bump termprofile from 0.2.2 to 0.2.3 Bumps [termprofile](https://github.com/aschey/termprofile) from 0.2.2 to 0.2.3. - [Release notes](https://github.com/aschey/termprofile/releases) - [Changelog](https://github.com/aschey/termprofile/blob/main/CHANGELOG.md) - [Commits](https://github.com/aschey/termprofile/compare/v0.2.2...v0.2.3) --- updated-dependencies: - dependency-name: termprofile dependency-version: 0.2.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f40981b..a485358 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5235,9 +5235,9 @@ dependencies = [ [[package]] name = "termprofile" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b1cbd23d0eb880e38f90c4a8861bc9278f262becd86ea8f9fb5294a56c020e9" +checksum = "b6c82c3d24419fa095b3cc0c547839feac1e73f74b7356f47945f9e1ca09963c" dependencies = [ "anstyle", "palette", diff --git a/Cargo.toml b/Cargo.toml index 913e9f0..240f8d0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ rat-widget = "3.2.1" ratatui = {version = "0.30.0", features = ["unstable-widget-ref"] } ratatui-macros = "0.7.0" ratatui-toaster = { path = "crates/ratatui-toaster", version = "0.1.3", features = ["tokio"] } -termprofile = { version = "0.2.2", features = ["convert", "ratatui"] } +termprofile = { version = "0.2.3", features = ["convert", "ratatui"] } textwrap = { version = "0.16.2", features = ["terminal_size"] } thiserror = "2.0.18" throbber-widgets-tui = "0.11.0" From 09500a7d0f0f9f1f4f478e3b396f78b4b8892748 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Apr 2026 11:33:01 +0000 Subject: [PATCH 08/14] chore(deps): bump nixpkgs from `46db2e0` to `1c3fe55` Bumps [nixpkgs](https://github.com/nixos/nixpkgs) from `46db2e0` to `1c3fe55`. - [Commits](https://github.com/nixos/nixpkgs/compare/46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9...1c3fe55ad329cbcb28471bb30f05c9827f724c76) --- updated-dependencies: - dependency-name: nixpkgs dependency-version: 1c3fe55ad329cbcb28471bb30f05c9827f724c76 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 246cfd4..bbfee60 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1774386573, - "narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=", + "lastModified": 1777268161, + "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9", + "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76", "type": "github" }, "original": { From dacdd5485660801aa336ca1b7411eba34cc32e66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Apr 2026 11:32:57 +0000 Subject: [PATCH 09/14] chore(deps): bump vergen-gix from 10.0.0-beta.6 to 10.0.0-beta.8 Bumps [vergen-gix](https://github.com/rustyhorde/vergen) from 10.0.0-beta.6 to 10.0.0-beta.8. - [Release notes](https://github.com/rustyhorde/vergen/releases) - [Commits](https://github.com/rustyhorde/vergen/compare/10.0.0-beta.6...10.0.0-beta.8) --- updated-dependencies: - dependency-name: vergen-gix dependency-version: 10.0.0-beta.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 347 ++++++++++++++++++++++++++++++++--------------------- Cargo.toml | 2 +- 2 files changed, 208 insertions(+), 141 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a485358..1a5c9e2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,9 +114,9 @@ dependencies = [ [[package]] name = "arc-swap" -version = "1.8.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ded5f9a03ac8f24d1b8a25101ee812cd32cdc8c50a4c50237de2c4915850e73" +checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" dependencies = [ "rustversion", ] @@ -261,9 +261,9 @@ dependencies = [ [[package]] name = "bon" -version = "3.9.0" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d13a61f2963b88eef9c1be03df65d42f6996dfeac1054870d950fcf66686f83" +checksum = "f47dbe92550676ee653353c310dfb9cf6ba17ee70396e1f7cf0a2020ad49b2fe" dependencies = [ "bon-macros", "rustversion", @@ -271,9 +271,9 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.9.0" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d314cc62af2b6b0c65780555abb4d02a03dd3b799cd42419044f0c38d99738c0" +checksum = "519bd3116aeeb42d5372c29d982d16d0170d3d4a5ed85fc7dd91642ffff3c67c" dependencies = [ "darling", "ident_case", @@ -1543,12 +1543,14 @@ dependencies = [ [[package]] name = "gix" -version = "0.80.0" +version = "0.83.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa56fdbfe98258af2759818ddc3175cc581112660e74c3fd55669836d29a994" +checksum = "6ce52001b946a6249d5d0d3011df0a042ac3f8a4d013460db6476577b0b9c567" dependencies = [ "gix-actor", + "gix-archive", "gix-attributes", + "gix-blame", "gix-command", "gix-commitgraph", "gix-config", @@ -1567,6 +1569,7 @@ dependencies = [ "gix-ignore", "gix-index", "gix-lock", + "gix-merge", "gix-negotiate", "gix-object", "gix-odb", @@ -1592,6 +1595,7 @@ dependencies = [ "gix-validate", "gix-worktree", "gix-worktree-state", + "gix-worktree-stream", "nonempty", "parking_lot", "signal-hook 0.4.3", @@ -1601,21 +1605,33 @@ dependencies = [ [[package]] name = "gix-actor" -version = "0.40.0" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "272916673b83714734b15d4ef3c8b5f1ccddb15fea8ff548430b97c1ab7b7ed8" +dependencies = [ + "bstr", + "gix-date", + "gix-error", +] + +[[package]] +name = "gix-archive" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e5e5b518339d5e6718af108fd064d4e9ba33caf728cf487352873d76411df35" +checksum = "9a20ec244b733338d4cb60e5e05eac700dab7fcc689647b1d1daa9396b119342" dependencies = [ "bstr", "gix-date", "gix-error", - "winnow", + "gix-object", + "gix-worktree-stream", ] [[package]] name = "gix-attributes" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c233d6eaa098c0ca5ce03236fd7a96e27f1abe72fad74b46003fbd11fe49563c" +checksum = "fe17c5a1c0b6f2ef1476aa1d3222ea50cdff67608016613a58bfc3e078046000" dependencies = [ "bstr", "gix-glob", @@ -1630,27 +1646,47 @@ dependencies = [ [[package]] name = "gix-bitmap" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7add20f40d060db8c9b1314d499bac6ed7480f33eb113ce3e1cf5d6ff85d989" +checksum = "1ecbfc77ec6852294e341ecc305a490b59f2813e6ca42d79efda5099dcab1894" dependencies = [ "gix-error", ] +[[package]] +name = "gix-blame" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dab9a942ab54a9661ded7397c3bf927274e7afa94494db0d75cfcbde02ca0a" +dependencies = [ + "gix-commitgraph", + "gix-date", + "gix-diff", + "gix-error", + "gix-hash", + "gix-object", + "gix-revwalk", + "gix-trace", + "gix-traverse", + "gix-worktree", + "smallvec", + "thiserror 2.0.18", +] + [[package]] name = "gix-chunk" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1096b6608fbe5d27fb4984e20f992b4e76fb8c613f6acb87d07c5831b53a6959" +checksum = "edf288be9b60fe7231de03771faa292be1493d84786f68727e33ad1f91764320" dependencies = [ "gix-error", ] [[package]] name = "gix-command" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b849c65a609f50d02f8a2774fe371650b3384a743c79c2a070ce0da49b7fb7da" +checksum = "86335306511abe43d75c866d4b1f3d90932fe202edcd43e1314036333e7384d8" dependencies = [ "bstr", "gix-path", @@ -1661,9 +1697,9 @@ dependencies = [ [[package]] name = "gix-commitgraph" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aea2fcfa6bc7329cd094696ba76682b89bdb61cafc848d91b34abba1c1d7e040" +checksum = "fe3b5aa0f24e19028c261d229aeeedafcaaa52ebd71021cc15184620fc9d32eb" dependencies = [ "bstr", "gix-chunk", @@ -1675,9 +1711,9 @@ dependencies = [ [[package]] name = "gix-config" -version = "0.53.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c24b190bd42b55724368c28ae750840b48e2038b9b5281202de6fca4ec1fce1" +checksum = "8c01848aebd21c67f6ba41f1de8efd46ae96df21f001954a3c9e1517e514d410" dependencies = [ "bstr", "gix-config-value", @@ -1686,18 +1722,16 @@ dependencies = [ "gix-path", "gix-ref", "gix-sec", - "memchr", "smallvec", "thiserror 2.0.18", "unicode-bom", - "winnow", ] [[package]] name = "gix-config-value" -version = "0.17.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441a300bc3645a1f45cba495b9175f90f47256ce43f2ee161da0031e3ac77c92" +checksum = "13b39ed39ee4c10a3b157f9fb94bac8098d9f8e56201f0cf7dee6c187416c4b2" dependencies = [ "bitflags 2.10.0", "bstr", @@ -1708,9 +1742,9 @@ dependencies = [ [[package]] name = "gix-credentials" -version = "0.37.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b2a34b8715e3bbd514f3d1705f5d51c4b250e5bfe506b9fb60b133c85c93d9" +checksum = "65ca11598b70811d7b16ff90945a6e57dfe521e85b744e51636965fe39cc8f60" dependencies = [ "bstr", "gix-command", @@ -1726,9 +1760,9 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.15.1" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39acf819aa9fee65e4838a2eec5cb2506e47ebb89e02a5ab9918196e491571ea" +checksum = "b94cdae4eb4b0f4136e3d9b3aa2d2cd03cfb5bb9b636b31263aea2df86d41543" dependencies = [ "bstr", "gix-error", @@ -1739,9 +1773,9 @@ dependencies = [ [[package]] name = "gix-diff" -version = "0.60.0" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60592771b104eda4e537c311e8239daef0df651d61e0e21855f7e6166416ff12" +checksum = "dc08e0fa1a91ff5f24affeab052f198056645e1de004910bde7b82b50ea5982a" dependencies = [ "bstr", "gix-attributes", @@ -1749,6 +1783,7 @@ dependencies = [ "gix-filter", "gix-fs", "gix-hash", + "gix-imara-diff", "gix-index", "gix-object", "gix-path", @@ -1757,15 +1792,14 @@ dependencies = [ "gix-trace", "gix-traverse", "gix-worktree", - "imara-diff", "thiserror 2.0.18", ] [[package]] name = "gix-dir" -version = "0.22.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b483ca64cc32d9e33fa617be153ec90525ad77db51106a5f725805a066dc001" +checksum = "32a0fc06e9e1e430cbf0a313666976d90f822f461a6525320427aa9b8af5236c" dependencies = [ "bstr", "gix-discover", @@ -1783,9 +1817,9 @@ dependencies = [ [[package]] name = "gix-discover" -version = "0.48.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "810764b92e8cb95e4d91b7adfc5a14666434fd32ace02900dfb66aae71f845df" +checksum = "17852e6a501e688a1702b24ebe5b3761d4719455bc869fd29f38b0b859bcad34" dependencies = [ "bstr", "dunce", @@ -1798,18 +1832,18 @@ dependencies = [ [[package]] name = "gix-error" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e86d01da904d4a9265def43bd42a18c5e6dc7000a73af512946ba14579c9fbd" +checksum = "e207b971746ab724fccdfced2e4e19e854744611904a0195d3aa8fda8a110613" dependencies = [ "bstr", ] [[package]] name = "gix-features" -version = "0.46.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "752493cd4b1d5eaaa0138a7493f65c96863fefa990fc021e0e519579e389ab20" +checksum = "af375693ad5333d0a2c66b4c5b2cbe9ccc38e34f8e8bf24e4ae42c12307fdc4f" dependencies = [ "bytes", "crc32fast", @@ -1826,9 +1860,9 @@ dependencies = [ [[package]] name = "gix-filter" -version = "0.27.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eda328750accaac05ce7637298fd7d6ba0d5d7bdf49c21f899d0b97e3df822d" +checksum = "dac917dbe9653c9b615d248db91907a365bd779750c9e1b457a9d9fdeece3a08" dependencies = [ "bstr", "encoding_rs", @@ -1847,9 +1881,9 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.19.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a964b4aec683eb0bacb87533defa80805bb4768056371a47ab38b00a2d377b72" +checksum = "4b5d9f7e55a0f9a936a877fa4f9758692a308550a39a45684286941a20a8e5c0" dependencies = [ "bstr", "fastrand", @@ -1861,9 +1895,9 @@ dependencies = [ [[package]] name = "gix-glob" -version = "0.24.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03e6cd88cc0dc1eafa1fddac0fb719e4e74b6ea58dd016e71125fde4a326bee" +checksum = "08bf29249a069bf2507f5964f80997f37b134d320ea348d66527726b9be2c38c" dependencies = [ "bitflags 2.10.0", "bstr", @@ -1873,9 +1907,9 @@ dependencies = [ [[package]] name = "gix-hash" -version = "0.22.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8ced05d2d7b13bff08b2f7eb4e47cfeaf00b974c2ddce08377c4fe1f706b3eb" +checksum = "bcf70d1e252337eed16360f8b8ebb71865ece58eab7954b39ce38b420de703d2" dependencies = [ "faster-hex", "gix-features", @@ -1885,9 +1919,9 @@ dependencies = [ [[package]] name = "gix-hashtable" -version = "0.12.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f1eecdd006390cbed81f105417dbf82a6fe40842022006550f2e32484101da" +checksum = "d33b455e07b3c16d3b2eeebc7b38d2dafcbf8a653de1138ef55d4c2a1fd0b08b" dependencies = [ "gix-hash", "hashbrown 0.16.1", @@ -1896,9 +1930,9 @@ dependencies = [ [[package]] name = "gix-ignore" -version = "0.19.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f915dcf6911e3027537166d34e13f0fe101ed12225178d2ae29cd1272cff26" +checksum = "6bb13fbbeeafee943e52b61fcc88dfddf6a452fcaf0c4d0cdc8f218fa25bbec5" dependencies = [ "bstr", "gix-glob", @@ -1907,11 +1941,21 @@ dependencies = [ "unicode-bom", ] +[[package]] +name = "gix-imara-diff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39eb0623e15e4cb83c02ce6a959e48fadd1ae3b715b36b5acc01816e01388c82" +dependencies = [ + "bstr", + "hashbrown 0.16.1", +] + [[package]] name = "gix-index" -version = "0.48.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b28482b86662c8b78160e0750b097a35fd61185803a960681351b3a07de07e" +checksum = "54c3ef97ad08121e4327a6226bd63fed6b9e3c6b976d48bddd4356d9d41191db" dependencies = [ "bitflags 2.10.0", "bstr", @@ -1937,20 +1981,46 @@ dependencies = [ [[package]] name = "gix-lock" -version = "21.0.2" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054fbd0989700c69dc5aa80bc66944f05df1e15aa7391a9e42aca7366337905f" +checksum = "09b3bc074e5723027b482dcd9ab99d95804a53742f6de812d0172fbba4a186c1" dependencies = [ "gix-tempfile", "gix-utils", "thiserror 2.0.18", ] +[[package]] +name = "gix-merge" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74bbcdcc52b70a32f0a151b024dff9d0fcf56ee48f00d9503e735af9d99ea881" +dependencies = [ + "bstr", + "gix-command", + "gix-diff", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-imara-diff", + "gix-index", + "gix-object", + "gix-path", + "gix-quote", + "gix-revision", + "gix-revwalk", + "gix-tempfile", + "gix-trace", + "gix-worktree", + "nonempty", + "thiserror 2.0.18", +] + [[package]] name = "gix-negotiate" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a925ec9bc3664eaff9c7dc49bc857fe0de7e90ece6e092cb66ba923812824db" +checksum = "103d42bfade1b8a96ca5005933127bdad461ce588d92422b2c2daa3ff20d780c" dependencies = [ "bitflags 2.10.0", "gix-commitgraph", @@ -1962,9 +2032,9 @@ dependencies = [ [[package]] name = "gix-object" -version = "0.57.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "013eae8e072c6155191ac266950dfbc8d162408642571b32e2c6b3e4b03740fb" +checksum = "a38075a95d7cc5df8afd38e72c617026c1456952207a4120a7f55a3fbf93b4d7" dependencies = [ "bstr", "gix-actor", @@ -1972,20 +2042,18 @@ dependencies = [ "gix-features", "gix-hash", "gix-hashtable", - "gix-path", "gix-utils", "gix-validate", "itoa", "smallvec", "thiserror 2.0.18", - "winnow", ] [[package]] name = "gix-odb" -version = "0.77.0" +version = "0.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8901a182923799e8857ac01bff6d7c6fecea999abd79a86dab638aadbb843f3" +checksum = "aeeda12a9663120418735ecdc1250d06eeab0be75700e47b3402a981331716ba" dependencies = [ "arc-swap", "gix-features", @@ -1996,6 +2064,7 @@ dependencies = [ "gix-pack", "gix-path", "gix-quote", + "memmap2", "parking_lot", "tempfile", "thiserror 2.0.18", @@ -2003,9 +2072,9 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.67.0" +version = "0.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a9f96f4058359d6874123f160e5b2044974829a29f3a71bb9c9218d1916c3" +checksum = "daf02e6f5c8f07a069c9ea5245f40d9b14856ada4086091dc99941b49002b4fa" dependencies = [ "clru", "gix-chunk", @@ -2024,9 +2093,9 @@ dependencies = [ [[package]] name = "gix-packetline" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be19313dcdb7dff75a3ce2f99be00878458295bcc3b6c7f0005591597573345c" +checksum = "362246df440ee691699f0664cbf7006a6ece477db6734222be95e4198e5656e6" dependencies = [ "bstr", "faster-hex", @@ -2036,9 +2105,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.11.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c31d4373bda7fab9eb01822927b55185a378d6e1bf737e0a54c743ad806658" +checksum = "671a6059e8a4c1b7f406e24716499cefa3926e060876fb1959ef225efeee346e" dependencies = [ "bstr", "gix-trace", @@ -2048,9 +2117,9 @@ dependencies = [ [[package]] name = "gix-pathspec" -version = "0.16.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89611f13544ca5ebeb68a502673814ef57200df60c24a61c2ce7b96f612f08b" +checksum = "2a84a4f083dd70fb49f4377e13afa6d90df2daaa1c705c49d6ff1331fc7e8855" dependencies = [ "bitflags 2.10.0", "bstr", @@ -2063,9 +2132,9 @@ dependencies = [ [[package]] name = "gix-prompt" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f61f6264e1f6c5a951531fe127722c7522bc02ebda80c4528286bda4642055f" +checksum = "e041a626c64cb69e4117fcdf80da8d0e454fba3b1f420412792d191f52251aee" dependencies = [ "gix-command", "gix-config-value", @@ -2076,9 +2145,9 @@ dependencies = [ [[package]] name = "gix-protocol" -version = "0.58.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c64ec7b04c57df6e97a2ac4738a4a09897b88febd6ec4bd2c5d3ff3ad3849df" +checksum = "aa4bee82db63ec635996b96efae71cf467c155fa3f34a556184373224a26c4fd" dependencies = [ "bstr", "gix-credentials", @@ -2098,14 +2167,13 @@ dependencies = [ "maybe-async", "nonempty", "thiserror 2.0.18", - "winnow", ] [[package]] name = "gix-quote" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68533db71259c8776dd4e770d2b7b98696213ecdc1f5c9e3507119e274e0c578" +checksum = "6e97b73791a64bc0fa7dd2c5b3e551136115f97750b876ed1c952c7a7dbaf8be" dependencies = [ "bstr", "gix-error", @@ -2114,9 +2182,9 @@ dependencies = [ [[package]] name = "gix-ref" -version = "0.60.0" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc7b230945f02d706a49bcf823b671785ecd9e88e713b8bd2ca5db104c97add" +checksum = "d8ba9cc15f558b274c99349b83130f5ec83459660828fde9718bbbb43a726167" dependencies = [ "gix-actor", "gix-features", @@ -2130,14 +2198,13 @@ dependencies = [ "gix-validate", "memmap2", "thiserror 2.0.18", - "winnow", ] [[package]] name = "gix-refspec" -version = "0.38.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3dc194cdc1176fc20f39f233d0d516f83df843ea14a9eb758a2690f3e38d1e" +checksum = "61755b27d57edc8940a1b1593c8c61548ca8e4c02da1ed8d5bfeda9eb2a6b761" dependencies = [ "bstr", "gix-error", @@ -2151,9 +2218,9 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.42.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9e31cd402edae08c3fdb67917b9fb75b0c9c9bd2fbed0c2dd9c0847039c556" +checksum = "1fb5288fac706d3ea3e4e2ba9ec38b78743b8c02f422e18cb342299cfd6ab7e8" dependencies = [ "bitflags 2.10.0", "bstr", @@ -2170,9 +2237,9 @@ dependencies = [ [[package]] name = "gix-revwalk" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573f6e471d76c0796f0b8ed5a431521ea5d121a7860121a2a9703e9434ab1d52" +checksum = "313813706b073a12ff7f9b2896bf3e6504cdac7cfbc97b1920114724705069f0" dependencies = [ "gix-commitgraph", "gix-date", @@ -2186,9 +2253,9 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf82ae037de9c62850ce67beaa92ec8e3e17785ea307cdde7618edc215603b4f" +checksum = "f5a3a2d3e504a238136751e646a6c028252286a0ea64ea9974bf0498633407c6" dependencies = [ "bitflags 2.10.0", "gix-path", @@ -2198,9 +2265,9 @@ dependencies = [ [[package]] name = "gix-shallow" -version = "0.9.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee51037c8a27ddb1c7a6d6db2553d01e501d5b1dae7dc65e41905a70960e658" +checksum = "29187305521bfacf4aefd284ab28dbfa9fb74abd39a5e63dd313b1baa5808c27" dependencies = [ "bstr", "gix-hash", @@ -2211,9 +2278,9 @@ dependencies = [ [[package]] name = "gix-status" -version = "0.27.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d4b93da8aae2b5c4ec2aaa3663a0914789737ba17383c665e9270a74173e8f6" +checksum = "68c6d2a8c521ffa205fe7e268c82e6d1378ba37cd826ca10ab6129fdc29a4b65" dependencies = [ "bstr", "filetime", @@ -2234,9 +2301,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.27.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cba2022599491d620fbc77b3729dba0120862ce9b4af6e3c47d19a9f2a5d884" +checksum = "9fd5fc8692890bd71a596e540fd4c364f8460eaa82c4eaaedebde6e1e3eb4d91" dependencies = [ "bstr", "gix-config", @@ -2249,9 +2316,9 @@ dependencies = [ [[package]] name = "gix-tempfile" -version = "21.0.2" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22227f6b203f511ff451c33c89899e87e4f571fc596b06f68e6e613a6508528" +checksum = "691ea1e31435c7e7d4d04705ec9d1c0d9482c46b2acf512bc723939d8f0af7fb" dependencies = [ "dashmap", "gix-fs", @@ -2264,15 +2331,15 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f69a13643b8437d4ca6845e08143e847a36ca82903eed13303475d0ae8b162e0" +checksum = "6f23569e55f2ffaf958617353b9734a7d52a7c19c439eeaa5e3efc217fd2270e" [[package]] name = "gix-transport" -version = "0.55.1" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a521e39c6235ce63ed6c001e2dd79818c830b82c3b7b59247ee7b229c39ec9bb" +checksum = "ffd6a5c676b92d4ead5f5a2b2935024415dec69edc997b6090ca9cac010a3018" dependencies = [ "base64", "bstr", @@ -2289,9 +2356,9 @@ dependencies = [ [[package]] name = "gix-traverse" -version = "0.54.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c99b3cf9dc87c13f1404e7b0e8c5e4bff4975d6f788831c02d6c006f3c76b4a0" +checksum = "a14b7052c0786676c03e71fcfde7d7f0f8e8316e642b5cec6bb3998719b2ce5c" dependencies = [ "bitflags 2.10.0", "gix-commitgraph", @@ -2306,9 +2373,9 @@ dependencies = [ [[package]] name = "gix-url" -version = "0.35.2" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d28e8af3d42581190da884f013caf254d2fd4d6ab102408f08d21bfa11de6c8d" +checksum = "35842d099e813f6f6bba529e88d4670572149c3df79b7a412952259887721ece" dependencies = [ "bstr", "gix-path", @@ -2318,9 +2385,9 @@ dependencies = [ [[package]] name = "gix-utils" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "befcdbdfb1238d2854591f760a48711bed85e72d80a10e8f2f93f656746ef7c5" +checksum = "4e477b4f07a6e8da4ba791c53c858102959703c60d70f199932010d5b94adb2c" dependencies = [ "bstr", "fastrand", @@ -2329,18 +2396,18 @@ dependencies = [ [[package]] name = "gix-validate" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec1eff98d91941f47766367cba1be746bab662bad761d9891ae6f7882f7840b" +checksum = "e26ac2602b43eadfdca0560b81d3341944162a3c9f64ccdeef8fc501ad80dad5" dependencies = [ "bstr", ] [[package]] name = "gix-worktree" -version = "0.49.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005627fc149315f39473e3e94a50058dd5d345c490a23723f67f32ee9c505232" +checksum = "d69955eb5e2910832f88d041964b809eee01dadd579237e0b55efec58fd406fd" dependencies = [ "bstr", "gix-attributes", @@ -2356,9 +2423,9 @@ dependencies = [ [[package]] name = "gix-worktree-state" -version = "0.27.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ffce16a83def3651ee4c9872960f4582652fbcc8bbee568c9bae6ffa23894" +checksum = "8a96dccbcf9e8fe0291c55f06e08da93ebb2e691c1311276f541eefcc6d70800" dependencies = [ "bstr", "gix-features", @@ -2372,6 +2439,24 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "gix-worktree-stream" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8444b8ed4662e1a0c97f3eceda29630001a1bbb2632201e50312623e594213" +dependencies = [ + "gix-attributes", + "gix-error", + "gix-features", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-object", + "gix-path", + "gix-traverse", + "parking_lot", +] + [[package]] name = "group" version = "0.13.0" @@ -2758,15 +2843,6 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "imara-diff" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17d34b7d42178945f775e84bc4c36dde7c1c6cdfea656d3354d009056f2bb3d2" -dependencies = [ - "hashbrown 0.15.5", -] - [[package]] name = "indexmap" version = "2.13.0" @@ -5744,9 +5820,9 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vergen" -version = "10.0.0-beta.6" +version = "10.0.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "174a690eb3293a5666442b0738d080df9ea6b9e03782bbe78875c89ff914a77c" +checksum = "2d7cb4a83971db3f6ae36f0aa41eaf5985d2e2b469581fa755c132f9c2a1ec89" dependencies = [ "anyhow", "bon", @@ -5757,9 +5833,9 @@ dependencies = [ [[package]] name = "vergen-gix" -version = "10.0.0-beta.6" +version = "10.0.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4671629a53eecc5ebb63d1aac8ec0df089190f8d1d9f857c82e8a51a9e7930f7" +checksum = "ddba6be7e9ab0be9a4c9b91ef4360100cf6753ae6134b3fcd297e771dc6d43ef" dependencies = [ "anyhow", "bon", @@ -5772,9 +5848,9 @@ dependencies = [ [[package]] name = "vergen-lib" -version = "10.0.0-beta.6" +version = "10.0.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390d0442b660baedd7a6f60d2af01bd8967e0d7fe69cd15e13c82c811d82b709" +checksum = "fb684e6d170ef15a9b3c20561779a50ba8c806f8acdaff47c0a2c5c4c6cadd43" dependencies = [ "anyhow", "bon", @@ -6436,15 +6512,6 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" -[[package]] -name = "winnow" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" -dependencies = [ - "memchr", -] - [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/Cargo.toml b/Cargo.toml index 240f8d0..764dff9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,7 +70,7 @@ strip = false [build-dependencies] anyhow = "1.0.101" -vergen-gix = { version = "10.0.0-beta.6", features = ["build", "cargo", "allow_remote"] } +vergen-gix = { version = "10.0.0-beta.8", features = ["build", "cargo", "allow_remote"] } [dev-dependencies] criterion = { version = "0.8.2", features = ["html_reports"] } From 8c1b250e52ddc51ef48a19391152107d1bc847cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Apr 2026 17:00:09 +0000 Subject: [PATCH 10/14] chore(deps): bump rustls-webpki from 0.103.10 to 0.103.13 Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.10 to 0.103.13. - [Release notes](https://github.com/rustls/webpki/releases) - [Commits](https://github.com/rustls/webpki/compare/v/0.103.10...v/0.103.13) --- updated-dependencies: - dependency-name: rustls-webpki dependency-version: 0.103.13 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a5c9e2..e8a50f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4745,9 +4745,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.10" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ "aws-lc-rs", "ring", From d0a0a4dc03c003fc114feb10081453cad8032534 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 14:48:28 +0000 Subject: [PATCH 11/14] chore(deps): bump tokio from 1.51.1 to 1.52.1 Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.51.1 to 1.52.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.52.1) --- updated-dependencies: - dependency-name: tokio dependency-version: 1.52.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- crates/ratatui-toaster/Cargo.toml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e8a50f2..251283b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5502,9 +5502,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.51.1" +version = "1.52.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" +checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" dependencies = [ "bytes", "libc", diff --git a/Cargo.toml b/Cargo.toml index 764dff9..6b5c253 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ termprofile = { version = "0.2.3", features = ["convert", "ratatui"] } textwrap = { version = "0.16.2", features = ["terminal_size"] } thiserror = "2.0.18" throbber-widgets-tui = "0.11.0" -tokio = { version = "1.51", features = ["macros", "rt-multi-thread"] } +tokio = { version = "1.52", features = ["macros", "rt-multi-thread"] } tokio-util = "0.7.18" tracing = "0.1.44" tracing-error = "0.2.1" diff --git a/crates/ratatui-toaster/Cargo.toml b/crates/ratatui-toaster/Cargo.toml index 66342fe..333b41c 100644 --- a/crates/ratatui-toaster/Cargo.toml +++ b/crates/ratatui-toaster/Cargo.toml @@ -14,7 +14,7 @@ categories = ["command-line-utilities", "command-line-interface"] [dependencies] ratatui = { version = "0.30.0", default-features = false, features = ["unstable-widget-ref"] } textwrap = "0.16.2" -tokio = { version = "1.51", features = ["rt-multi-thread"], optional = true } +tokio = { version = "1.52", features = ["rt-multi-thread"], optional = true } [features] tokio = ["dep:tokio"] @@ -25,7 +25,7 @@ path = "examples/simple.rs" [dev-dependencies] anyhow = "1.0.102" -tokio = { version = "1.51", features = ["rt-multi-thread", "sync", "time", "macros"] } +tokio = { version = "1.52", features = ["rt-multi-thread", "sync", "time", "macros"] } ratatui = { version = "0.30.0" } tachyonfx = { version = "0.25.0", default-features = false, features = ["std", "std-duration"] } tokio-util = "0.7.18" From d6b52c1c03c58e16d5264cc988afddbf11d596e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 14:48:13 +0000 Subject: [PATCH 12/14] chore(deps): bump clap from 4.6.0 to 4.6.1 Bumps [clap](https://github.com/clap-rs/clap) from 4.6.0 to 4.6.1. - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.6.0...clap_complete-v4.6.1) --- updated-dependencies: - dependency-name: clap dependency-version: 4.6.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 251283b..6ba1fb5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -458,9 +458,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -480,9 +480,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 6b5c253..2119628 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ benches = [] [dependencies] anyhow = "1.0" async-trait = "0.1.89" -clap = { version = "4.6.0", features = ["derive", "cargo", "string"] } +clap = { version = "4.6.1", features = ["derive", "cargo", "string"] } clap_mangen = "0.3.0" crossterm = { version = "0.29.0", features = ["event-stream"] } directories = "6.0.0" From 4e966bdebb4d7b5be4a264b20c2ef832218cfaf3 Mon Sep 17 00:00:00 2001 From: JayanAXHF Date: Sun, 28 Jun 2026 13:18:14 +0530 Subject: [PATCH 13/14] hyperrat fix: upgrade to ratatui 0.30 --- Cargo.lock | 119 +++++++++++++++++++++++++------------ crates/hyperrat/Cargo.toml | 2 +- crates/hyperrat/src/lib.rs | 22 +++---- 3 files changed, 93 insertions(+), 50 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6ba1fb5..38a4402 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -240,9 +240,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "block" @@ -690,6 +690,12 @@ dependencies = [ "itertools 0.13.0", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-deque" version = "0.8.6" @@ -721,7 +727,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "crossterm_winapi", "derive_more", "document-features", @@ -1733,7 +1739,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b39ed39ee4c10a3b157f9fb94bac8098d9f8e56201f0cf7dee6c187416c4b2" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "bstr", "gix-path", "libc", @@ -1899,7 +1905,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08bf29249a069bf2507f5964f80997f37b134d320ea348d66527726b9be2c38c" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "bstr", "gix-features", "gix-path", @@ -1957,7 +1963,7 @@ version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54c3ef97ad08121e4327a6226bd63fed6b9e3c6b976d48bddd4356d9d41191db" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "bstr", "filetime", "fnv", @@ -2022,7 +2028,7 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "103d42bfade1b8a96ca5005933127bdad461ce588d92422b2c2daa3ff20d780c" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "gix-commitgraph", "gix-date", "gix-hash", @@ -2121,7 +2127,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a84a4f083dd70fb49f4377e13afa6d90df2daaa1c705c49d6ff1331fc7e8855" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "bstr", "gix-attributes", "gix-config-value", @@ -2222,7 +2228,7 @@ version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fb5288fac706d3ea3e4e2ba9ec38b78743b8c02f422e18cb342299cfd6ab7e8" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "bstr", "gix-commitgraph", "gix-date", @@ -2257,7 +2263,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5a3a2d3e504a238136751e646a6c028252286a0ea64ea9974bf0498633407c6" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "gix-path", "libc", "windows-sys 0.61.2", @@ -2360,7 +2366,7 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a14b7052c0786676c03e71fcfde7d7f0f8e8316e642b5cec6bb3998719b2ce5c" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "gix-commitgraph", "gix-date", "gix-hash", @@ -2533,6 +2539,17 @@ dependencies = [ "foldhash 0.2.0", ] +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] + [[package]] name = "heapless" version = "0.8.0" @@ -2870,7 +2887,7 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6654738b8024300cf062d04a1c13c10c8e2cea598ec1c47dc9b6641159429756" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "crossterm", "dyn-clone", "fuzzy-matcher", @@ -3155,7 +3172,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "libc", "redox_syscall 0.7.1", ] @@ -3166,7 +3183,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4de44e98ddbf09375cbf4d17714d18f39195f4f4894e8524501726fd9a8a4a" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", ] [[package]] @@ -3175,7 +3192,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "libc", ] @@ -3220,11 +3237,11 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" -version = "0.16.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +checksum = "8a860605968fce16869fd239cf4237a82f3ac470723415db603b0e8b6c8d4fb9" dependencies = [ - "hashbrown 0.16.1", + "hashbrown 0.17.1", ] [[package]] @@ -3375,7 +3392,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "cfg-if", "cfg_aliases", "libc", @@ -3660,6 +3677,7 @@ checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" dependencies = [ "approx", "fast-srgb8", + "libm", "palette_derive", ] @@ -4020,7 +4038,7 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c3a14896dfa883796f1cb410461aef38810ea05f2b2c33c5aded3649095fdad" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "getopts", "memchr", "pulldown-cmark-escape", @@ -4365,18 +4383,20 @@ dependencies = [ [[package]] name = "ratatui-core" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef8dea09a92caaf73bff7adb70b76162e5937524058a7e5bff37869cbbec293" +checksum = "cbb175c433c8e28a809d1f5773a2ae96e68c0ce40db865cbab1020bf33ae479c" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "compact_str", - "hashbrown 0.16.1", - "indoc", + "critical-section", + "hashbrown 0.17.1", "itertools 0.14.0", "kasuari", "lru", - "strum", + "palette", + "serde", + "strum 0.28.0", "thiserror 2.0.18", "unicode-segmentation", "unicode-truncate", @@ -4433,14 +4453,14 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7dbfa023cd4e604c2553483820c5fe8aa9d71a42eea5aa77c6e7f35756612db" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "hashbrown 0.16.1", "indoc", "instability", "itertools 0.14.0", "line-clipping", "ratatui-core", - "strum", + "strum 0.27.2", "time", "unicode-segmentation", "unicode-width", @@ -4472,7 +4492,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", ] [[package]] @@ -4481,7 +4501,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35985aa610addc02e24fc232012c86fd11f14111180f902b67e2d5331f8ebf2b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", ] [[package]] @@ -4658,7 +4678,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -4671,7 +4691,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys 0.12.1", @@ -4820,7 +4840,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -4833,7 +4853,7 @@ version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -5170,7 +5190,16 @@ version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros", + "strum_macros 0.27.2", +] + +[[package]] +name = "strum" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" +dependencies = [ + "strum_macros 0.28.0", ] [[package]] @@ -5185,6 +5214,18 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "strum_macros" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "subtle" version = "2.6.1" @@ -5328,7 +5369,7 @@ checksum = "4676b37242ccbd1aabf56edb093a4827dc49086c0ffd764a5705899e0f35f8f7" dependencies = [ "anyhow", "base64", - "bitflags 2.10.0", + "bitflags 2.13.0", "fancy-regex 0.11.0", "filedescriptor", "finl_unicode", @@ -5572,7 +5613,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "bytes", "futures-util", "http", @@ -6003,7 +6044,7 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.13.0", "hashbrown 0.15.5", "indexmap", "semver", @@ -6570,7 +6611,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.10.0", + "bitflags 2.13.0", "indexmap", "log", "serde", diff --git a/crates/hyperrat/Cargo.toml b/crates/hyperrat/Cargo.toml index 1dfd033..14b7774 100644 --- a/crates/hyperrat/Cargo.toml +++ b/crates/hyperrat/Cargo.toml @@ -12,5 +12,5 @@ keywords = ["tui", "cli", "ratatui"] categories = ["command-line-utilities", "command-line-interface"] [dependencies] -ratatui-core = "0.1.0" +ratatui-core = "0.1.2" textwrap = "0.16.2" diff --git a/crates/hyperrat/src/lib.rs b/crates/hyperrat/src/lib.rs index 9f8433e..9efd2a0 100644 --- a/crates/hyperrat/src/lib.rs +++ b/crates/hyperrat/src/lib.rs @@ -4,7 +4,7 @@ use std::borrow::Cow; use ratatui_core::{ - buffer::Buffer, + buffer::{Buffer, CellDiffOption}, layout::{Position, Rect}, style::{Modifier, Style}, widgets::Widget, @@ -129,14 +129,14 @@ impl Widget for Link<'_> { if let Some(first_cell) = buf.cell_mut(Position::new(area.x, area.y)) { first_cell.set_symbol(&encoded); first_cell.set_style(style); - first_cell.set_skip(false); + first_cell.set_diff_option(CellDiffOption::None); } for offset in 1..label_width { let x = area.x + offset as u16; if let Some(cell) = buf.cell_mut(Position::new(x, area.y)) { - cell.set_symbol(" "); - cell.set_skip(true); + cell.set_symbol("s"); + cell.set_diff_option(CellDiffOption::Skip); cell.set_style(style); } } @@ -147,7 +147,8 @@ impl Widget for Link<'_> { for offset in 0..label_width { let x = area.x + offset as u16; if let Some(cell) = buf.cell_mut(Position::new(x, area.y)) { - cell.set_skip(false); + cell.set_diff_option(CellDiffOption::None); + cell.set_style(style); } } } @@ -158,7 +159,7 @@ fn clear_area_row(area: Rect, buf: &mut Buffer) { let x = area.x + offset; if let Some(cell) = buf.cell_mut(Position::new(x, area.y)) { cell.set_symbol(" "); - cell.set_skip(false); + cell.set_diff_option(CellDiffOption::None); } } } @@ -238,7 +239,7 @@ mod tests { for x in 1..7 { let cell = buf.cell(Position::new(x, 0)).expect("linked cell"); - assert!(cell.skip); + assert!(cell.diff_option == CellDiffOption::Skip); } } @@ -252,7 +253,7 @@ mod tests { for x in 1..4 { let cell = buf.cell(Position::new(x, 0)).expect("clipped cell"); - assert!(cell.skip); + assert!(cell.diff_option == CellDiffOption::Skip); assert_eq!(cell.symbol(), " "); } } @@ -266,7 +267,8 @@ mod tests { for x in 4..9 { let cell = buf.cell(Position::new(x, 0)).expect("tail cell"); - assert!(!cell.skip); + + assert!(cell.diff_option == CellDiffOption::Skip); assert_eq!(cell.symbol(), " "); } } @@ -280,7 +282,7 @@ mod tests { assert_eq!(buf.cell(Position::new(0, 0)).expect("cell").symbol(), "r"); assert_eq!(buf.cell(Position::new(1, 0)).expect("cell").symbol(), "a"); - assert!(!buf.cell(Position::new(1, 0)).expect("cell").skip); + assert!(buf.cell(Position::new(1, 0)).expect("cell").diff_option != CellDiffOption::Skip); } #[test] From 74c4de1b2c802b598cab231761bb50782ff38d99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 28 Jun 2026 08:05:26 +0000 Subject: [PATCH 14/14] chore(deps): bump rand from 0.8.5 to 0.8.6 Bumps [rand](https://github.com/rust-random/rand) from 0.8.5 to 0.8.6. - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/0.8.6/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand/compare/0.8.5...0.8.6) --- updated-dependencies: - dependency-name: rand dependency-version: 0.8.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Cargo.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 38a4402..3aa8eae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3079,7 +3079,7 @@ dependencies = [ "p256", "p384", "pem", - "rand 0.8.5", + "rand 0.8.6", "rsa", "serde", "serde_json", @@ -3454,7 +3454,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "zeroize", ] @@ -3822,7 +3822,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -4136,9 +4136,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1",