Merge pull request #6 from stevedylandev/chore/feeds-add-default-feed-var 1de32e1b
chore/feeds add default feed var
Steve Simkins · 2026-04-03 19:58 3 file(s) · +22 −10
Cargo.lock +2 −2
1243 1243
1244 1244
[[package]]
1245 1245
name = "feeds"
1246 -
version = "0.1.1"
1246 +
version = "0.1.2"
1247 1247
dependencies = [
1248 1248
 "andromeda-auth",
1249 1249
 "askama 0.13.1",
2056 2056
2057 2057
[[package]]
2058 2058
name = "jotts"
2059 -
version = "0.1.1"
2059 +
version = "0.1.2"
2060 2060
dependencies = [
2061 2061
 "andromeda-auth",
2062 2062
 "askama 0.15.6",
apps/feeds/Cargo.toml +1 −1
1 1
[package]
2 2
name = "feeds"
3 -
version = "0.1.1"
3 +
version = "0.1.2"
4 4
edition = "2024"
5 5
description = "Minimal RSS feed reader"
6 6
license = "MIT"
apps/feeds/src/feeds.rs +19 −7
342 342
    }
343 343
344 344
    // Priority 3: FreshRSS fallback
345 -
    let freshrss_url = std::env::var("FRESHRSS_URL").map_err(|_| "FRESHRSS_URL not set")?;
346 -
    let username =
347 -
        std::env::var("FRESHRSS_USERNAME").map_err(|_| "FRESHRSS_USERNAME not set")?;
348 -
    let password =
349 -
        std::env::var("FRESHRSS_PASSWORD").map_err(|_| "FRESHRSS_PASSWORD not set")?;
345 +
    if let Some((freshrss_url, username, password)) = crate::freshrss_env() {
346 +
        let items = fetch_freshrss_items(&freshrss_url, &username, &password).await?;
347 +
        return Ok((items, None));
348 +
    }
350 349
351 -
    let items = fetch_freshrss_items(&freshrss_url, &username, &password).await?;
352 -
    Ok((items, None))
350 +
    // Priority 4: DEFAULT_FEED env var
351 +
    if let Ok(default_feed) = std::env::var("DEFAULT_FEED") {
352 +
        let urls: Vec<String> = default_feed
353 +
            .split(',')
354 +
            .map(|u| u.trim().to_string())
355 +
            .filter(|u| !u.is_empty())
356 +
            .collect();
357 +
358 +
        if !urls.is_empty() {
359 +
            let items = parse_urls(&urls).await;
360 +
            return Ok((items, Some(urls)));
361 +
        }
362 +
    }
363 +
364 +
    Err("No feed source configured. Set FRESHRSS_URL/FRESHRSS_USERNAME/FRESHRSS_PASSWORD or DEFAULT_FEED.".to_string())
353 365
}