From e6ab243dfde79c50ce5661b630ed26b9a1504dae Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Thu, 5 Mar 2026 08:36:31 -0800 Subject: feat: Allow setting multipliers for frequency, recency, and frecency scores (#3235) --- crates/atuin-daemon/src/daemon.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'crates/atuin-daemon/src/daemon.rs') diff --git a/crates/atuin-daemon/src/daemon.rs b/crates/atuin-daemon/src/daemon.rs index ec0b7b68..625ca205 100644 --- a/crates/atuin-daemon/src/daemon.rs +++ b/crates/atuin-daemon/src/daemon.rs @@ -119,12 +119,20 @@ impl DaemonHandle { /// via `handle.settings()` to pick up the changes. pub async fn reload_settings(&self) -> Result<()> { let new_settings = Settings::new()?; - *self.state.settings.write().await = new_settings; - self.emit(DaemonEvent::SettingsReloaded); - tracing::info!("settings reloaded"); + self.apply_settings(new_settings).await; Ok(()) } + /// Apply already-loaded settings and emit a SettingsReloaded event. + /// + /// Use this when settings have already been loaded (e.g., from a file watcher) + /// to avoid parsing the config file twice. + pub async fn apply_settings(&self, settings: Settings) { + *self.state.settings.write().await = settings; + self.emit(DaemonEvent::SettingsReloaded); + tracing::info!("settings applied"); + } + /// Get the encryption key. pub fn encryption_key(&self) -> &[u8; 32] { &self.state.encryption_key -- cgit v1.3.1