1 Commits

Author SHA1 Message Date
34145d5fbe feat: add startup diagnostics for environment issues
- Log HOME, PATH, XDG_DATA_HOME at startup
- Warn when critical env vars are missing
- Log item count per provider after refresh

This helps diagnose why items may not load when launched
from window manager keybinds vs terminal.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 15:52:08 +01:00
4 changed files with 21 additions and 3 deletions

2
Cargo.lock generated
View File

@@ -859,7 +859,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "owlry"
version = "0.1.2"
version = "0.1.3"
dependencies = [
"clap",
"dirs",

View File

@@ -1,6 +1,6 @@
[package]
name = "owlry"
version = "0.1.2"
version = "0.1.3"
edition = "2024"
rust-version = "1.90"
description = "A lightweight, owl-themed application launcher for Wayland"

View File

@@ -8,7 +8,7 @@ mod ui;
use app::OwlryApp;
use cli::CliArgs;
use log::info;
use log::{info, warn};
fn main() {
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init();
@@ -17,6 +17,18 @@ fn main() {
info!("Starting Owlry launcher");
// Diagnostic: log critical environment variables
let home = std::env::var("HOME").unwrap_or_else(|_| "<not set>".to_string());
let path = std::env::var("PATH").unwrap_or_else(|_| "<not set>".to_string());
let xdg_data = std::env::var("XDG_DATA_HOME").unwrap_or_else(|_| "<not set>".to_string());
info!("HOME={}", home);
info!("PATH={}", path);
info!("XDG_DATA_HOME={}", xdg_data);
if home == "<not set>" || path == "<not set>" {
warn!("Critical environment variables missing! Items may not load correctly.");
}
let app = OwlryApp::new(args);
std::process::exit(app.run());
}

View File

@@ -10,6 +10,7 @@ pub use uuctl::UuctlProvider;
use fuzzy_matcher::FuzzyMatcher;
use fuzzy_matcher::skim::SkimMatcherV2;
use log::info;
/// Represents a single searchable/launchable item
#[derive(Debug, Clone)]
@@ -110,6 +111,11 @@ impl ProviderManager {
pub fn refresh_all(&mut self) {
for provider in &mut self.providers {
provider.refresh();
info!(
"Provider '{}' loaded {} items",
provider.name(),
provider.items().len()
);
}
}