aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/src/atuin_daemon
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-12 01:54:21 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-12 01:54:21 +0200
commitbbdf38018b47328b5faa2cef635c37095045be72 (patch)
tree8983817d547551ae12508a8ae8731b622d990af4 /crates/turtle/src/atuin_daemon
parentfeat(server): Make user stuff stateless (diff)
downloadatuin-bbdf38018b47328b5faa2cef635c37095045be72.zip
feat(server): Really make users stateless (with tests)
This commit also remove another load of unneeded features.
Diffstat (limited to 'crates/turtle/src/atuin_daemon')
-rw-r--r--crates/turtle/src/atuin_daemon/components/history.rs1
-rw-r--r--crates/turtle/src/atuin_daemon/components/search.rs10
-rw-r--r--crates/turtle/src/atuin_daemon/components/sync.rs4
-rw-r--r--crates/turtle/src/atuin_daemon/daemon.rs2
-rw-r--r--crates/turtle/src/atuin_daemon/mod.rs2
-rw-r--r--crates/turtle/src/atuin_daemon/search/index.rs13
6 files changed, 10 insertions, 22 deletions
diff --git a/crates/turtle/src/atuin_daemon/components/history.rs b/crates/turtle/src/atuin_daemon/components/history.rs
index ec41977f..b71543c1 100644
--- a/crates/turtle/src/atuin_daemon/components/history.rs
+++ b/crates/turtle/src/atuin_daemon/components/history.rs
@@ -5,7 +5,6 @@
use std::{pin::Pin, sync::Arc};
use crate::atuin_client::{
- database::Database,
history::{History, HistoryId, store::HistoryStore},
settings::Settings,
};
diff --git a/crates/turtle/src/atuin_daemon/components/search.rs b/crates/turtle/src/atuin_daemon/components/search.rs
index 17decdad..832d05d8 100644
--- a/crates/turtle/src/atuin_daemon/components/search.rs
+++ b/crates/turtle/src/atuin_daemon/components/search.rs
@@ -5,7 +5,6 @@
use std::{pin::Pin, sync::Arc};
-use crate::atuin_client::database::Database;
use eyre::Result;
use tokio::sync::RwLock;
use tokio_stream::Stream;
@@ -394,15 +393,6 @@ fn convert_filter_mode(
}
}
-#[cfg(windows)]
-pub(crate) fn with_trailing_slash(s: &str) -> String {
- if s.ends_with('\\') {
- s.to_string()
- } else {
- format!("{}\\", s)
- }
-}
-
#[cfg(not(windows))]
pub(crate) fn with_trailing_slash(s: &str) -> String {
if s.ends_with('/') {
diff --git a/crates/turtle/src/atuin_daemon/components/sync.rs b/crates/turtle/src/atuin_daemon/components/sync.rs
index fdd00b5f..fbfbbd67 100644
--- a/crates/turtle/src/atuin_daemon/components/sync.rs
+++ b/crates/turtle/src/atuin_daemon/components/sync.rs
@@ -141,7 +141,7 @@ async fn sync_loop(handle: DaemonHandle, mut cmd_rx: mpsc::Receiver<SyncCommand>
// Skip periodic ticks if auto_sync is disabled AND we're not retrying
// a previous failure. Retries must continue regardless of auto_sync.
- if !settings.auto_sync && sync_state == SyncState::Idle {
+ if !settings.sync.auto && sync_state == SyncState::Idle {
tracing::debug!("auto_sync disabled, skipping periodic sync tick");
continue;
}
@@ -190,7 +190,7 @@ async fn do_sync_tick(
tracing::info!("sync tick");
// Check if logged in
- let logged_in = match settings.have_sync_key().await {
+ let logged_in = match settings.sync.have_sync_user() {
Ok(v) => v,
Err(e) => {
tracing::warn!("failed to check login status, skipping sync tick: {e}");
diff --git a/crates/turtle/src/atuin_daemon/daemon.rs b/crates/turtle/src/atuin_daemon/daemon.rs
index 3268548e..7583c197 100644
--- a/crates/turtle/src/atuin_daemon/daemon.rs
+++ b/crates/turtle/src/atuin_daemon/daemon.rs
@@ -11,7 +11,7 @@
use std::sync::Arc;
use crate::atuin_client::{
- database::Sqlite as HistoryDatabase, encryption, record::sqlite_store::SqliteStore,
+ database::ClientSqlite as HistoryDatabase, encryption, record::sqlite_store::SqliteStore,
settings::Settings,
};
use eyre::{Context, Result};
diff --git a/crates/turtle/src/atuin_daemon/mod.rs b/crates/turtle/src/atuin_daemon/mod.rs
index eac28f78..6037b5a8 100644
--- a/crates/turtle/src/atuin_daemon/mod.rs
+++ b/crates/turtle/src/atuin_daemon/mod.rs
@@ -1,4 +1,4 @@
-use crate::atuin_client::database::Sqlite as HistoryDatabase;
+use crate::atuin_client::database::ClientSqlite as HistoryDatabase;
use crate::atuin_client::record::sqlite_store::SqliteStore;
use crate::atuin_client::settings::{Settings, watcher::global_settings_watcher};
use eyre::Result;
diff --git a/crates/turtle/src/atuin_daemon/search/index.rs b/crates/turtle/src/atuin_daemon/search/index.rs
index 446d7992..a23b3133 100644
--- a/crates/turtle/src/atuin_daemon/search/index.rs
+++ b/crates/turtle/src/atuin_daemon/search/index.rs
@@ -14,8 +14,7 @@ use std::{
use crate::atuin_client::settings::Search;
use crate::{
- atuin_client::history::{History, is_known_agent},
- atuin_daemon::components::search::with_trailing_slash,
+ atuin_client::history::History, atuin_daemon::components::search::with_trailing_slash,
};
use atuin_nucleo::{Injector, Nucleo, pattern};
use dashmap::DashMap;
@@ -195,7 +194,11 @@ impl CommandData {
/// Check if any invocation matches a directory prefix (workspace/git root).
/// O(n) where n = number of unique directories for this command.
- pub(crate) fn has_invocation_in_workspace(&self, prefix: &str, interner: &ThreadedRodeo) -> bool {
+ pub(crate) fn has_invocation_in_workspace(
+ &self,
+ prefix: &str,
+ interner: &ThreadedRodeo,
+ ) -> bool {
self.directories
.iter()
.any(|&spur| interner.resolve(&spur).starts_with(prefix))
@@ -289,10 +292,6 @@ impl SearchIndex {
/// If the command already exists, updates its invocation data.
/// If it's a new command, adds it to both the map and Nucleo.
pub(crate) fn add_history(&self, history: &History) {
- if is_known_agent(&history.author) {
- return;
- }
-
let command = history.command.as_str();
// DashMap with Arc<str> keys can be looked up with &str via Borrow trait