diff options
Diffstat (limited to 'atuin-client/src')
| -rw-r--r-- | atuin-client/src/api_client.rs | 8 | ||||
| -rw-r--r-- | atuin-client/src/settings.rs | 10 |
2 files changed, 15 insertions, 3 deletions
diff --git a/atuin-client/src/api_client.rs b/atuin-client/src/api_client.rs index affb3c98..dc835cfb 100644 --- a/atuin-client/src/api_client.rs +++ b/atuin-client/src/api_client.rs @@ -10,8 +10,8 @@ use reqwest::{ use atuin_common::{ api::{ - AddHistoryRequest, CountResponse, DeleteHistoryRequest, ErrorResponse, IndexResponse, - LoginRequest, LoginResponse, RegisterResponse, StatusResponse, SyncHistoryResponse, + AddHistoryRequest, CountResponse, DeleteHistoryRequest, ErrorResponse, LoginRequest, + LoginResponse, RegisterResponse, StatusResponse, SyncHistoryResponse, }, record::RecordStatus, }; @@ -19,6 +19,7 @@ use atuin_common::{ api::{ATUIN_CARGO_VERSION, ATUIN_HEADER_VERSION, ATUIN_VERSION}, record::{EncryptedData, HostId, Record, RecordIdx}, }; + use semver::Version; use time::format_description::well_known::Rfc3339; use time::OffsetDateTime; @@ -97,7 +98,10 @@ pub async fn login(address: &str, req: LoginRequest) -> Result<LoginResponse> { Ok(session) } +#[cfg(feature = "check-update")] pub async fn latest_version() -> Result<Version> { + use atuin_common::api::IndexResponse; + let url = "https://api.atuin.sh"; let client = reqwest::Client::new(); diff --git a/atuin-client/src/settings.rs b/atuin-client/src/settings.rs index c95c8ba5..122b8d57 100644 --- a/atuin-client/src/settings.rs +++ b/atuin-client/src/settings.rs @@ -402,6 +402,7 @@ impl Settings { } } + #[cfg(feature = "check-update")] fn needs_update_check(&self) -> Result<bool> { let last_check = Settings::last_version_check()?; let diff = OffsetDateTime::now_utc() - last_check; @@ -410,6 +411,7 @@ impl Settings { Ok(diff.whole_hours() >= 1) } + #[cfg(feature = "check-update")] async fn latest_version(&self) -> Result<Version> { // Default to the current version, and if that doesn't parse, a version so high it's unlikely to ever // suggest upgrading. @@ -440,6 +442,7 @@ impl Settings { } // Return Some(latest version) if an update is needed. Otherwise, none. + #[cfg(feature = "check-update")] pub async fn needs_update(&self) -> Option<Version> { if !self.update_check { return None; @@ -463,6 +466,11 @@ impl Settings { None } + #[cfg(not(feature = "check-update"))] + pub async fn needs_update(&self) -> Option<Version> { + None + } + pub fn builder() -> Result<ConfigBuilder<DefaultState>> { let data_dir = atuin_common::utils::data_dir(); let db_path = data_dir.join("history.db"); @@ -478,7 +486,7 @@ impl Settings { .set_default("session_path", session_path.to_str())? .set_default("dialect", "us")? .set_default("auto_sync", true)? - .set_default("update_check", true)? + .set_default("update_check", cfg!(feature = "check-update"))? .set_default("sync_address", "https://api.atuin.sh")? .set_default("sync_frequency", "10m")? .set_default("search_mode", "fuzzy")? |
