aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/fi
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/fi')
-rw-r--r--pkgs/by-name/fi/fish-patched/0002-history-turtle-Fix-id-misuse-and-history-return-orde.patch50
-rw-r--r--pkgs/by-name/fi/fish-patched/package.nix1
2 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/by-name/fi/fish-patched/0002-history-turtle-Fix-id-misuse-and-history-return-orde.patch b/pkgs/by-name/fi/fish-patched/0002-history-turtle-Fix-id-misuse-and-history-return-orde.patch
new file mode 100644
index 00000000..24df9782
--- /dev/null
+++ b/pkgs/by-name/fi/fish-patched/0002-history-turtle-Fix-id-misuse-and-history-return-orde.patch
@@ -0,0 +1,50 @@
+From 853a5b5cdbdaa21f5c0a739d43d878af0874e19e Mon Sep 17 00:00:00 2001
+From: Benedikt Peetz <benedikt.peetz@b-peetz.de>
+Date: Sun, 23 Aug 2026 23:34:58 +0200
+Subject: [PATCH] history/turtle: Fix id misuse and history return order
+
+---
+ src/history/turtle.rs | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/src/history/turtle.rs b/src/history/turtle.rs
+index ffcdea108..862b7346b 100644
+--- a/src/history/turtle.rs
++++ b/src/history/turtle.rs
+@@ -42,6 +42,10 @@ fn loaded_history(&mut self) -> &[History] {
+ if NEW_LOADED_HISTORY_AVAILABLE.load(Ordering::Relaxed) || should_wait {
+ if let Some(pre_loaded_history) = self.handler.load_history_resp(should_wait) {
+ self.loaded_history = pre_loaded_history;
++
++ // HACK(@bpeetz): For some reason, the returned history is reversed.
++ // So we un-reverse it here. <2026-08-23>
++ self.loaded_history.reverse();
+ }
+
+ flogf!(
+@@ -273,13 +277,19 @@ fn start(daemon_socket: String) -> Self {
+
+ flogf!(history, " > Starting cmd '%s'", command);
+
+- let history_id = history.id;
+ let start_time = history.timestamp;
+
+- rt.block_on(client.start_history(history))
++ let reply = rt
++ .block_on(client.start_history(history))
+ .expect("client to still work");
+
+- running_history.insert(command, (history_id, start_time));
++ // NOTE(@bpeetz): We already _have_ an HistoryId on our history,
++ // but the turtle daemon will assign a new one.
++ // Therefore, we need to make sure, that we only use the id it has assigned.
++ // <2026-08-23>
++ let real_id = HistoryId::from(reply.id);
++
++ running_history.insert(command, (real_id, start_time));
+ }
+ HandleHistoryCmd::End {
+ command,
+--
+2.55.0
+
diff --git a/pkgs/by-name/fi/fish-patched/package.nix b/pkgs/by-name/fi/fish-patched/package.nix
index f0546952..9ea39968 100644
--- a/pkgs/by-name/fi/fish-patched/package.nix
+++ b/pkgs/by-name/fi/fish-patched/package.nix
@@ -31,5 +31,6 @@ in
(prev.patches or [])
++ [
./0001-feat-history-Add-turtle-as-history-backend.patch
+ ./0002-history-turtle-Fix-id-misuse-and-history-return-orde.patch
];
})