Skip to content

[FEATURE] Distro news (multi-distro) #131

@Firstp1ck

Description

@Firstp1ck

Summary: Add a compact in-app news view for EndeavourOS, Manjaro, Garuda, and CachyOS, with filtering and a clear split between critical system updates (kernel/systemd/core) and general package news. Related planning: dev/IMPROVEMENTS/FEATURE_PRIORITY.md, dev/IMPROVEMENTS/news_feed_implementation.md, dev/WORKFLOWS/news_fetching_workflow.md.

Problem / motivation

Arch-based derivatives publish important announcements; users want them inside Pacsea with filtering and severity hints.

Goals

  • Detect or let user select distro flavor; fetch appropriate feed(s) (RSS/Atom/JSON per distro).
  • Present headlines + body in a reader panel; optional open-in-browser keybind.
  • Classification: tag items affecting kernel/systemd/core as “system critical” when detectable from title/category/package lists; fallback heuristic with manual override not required in v1.

Recommended implementation

1) Reuse existing news plumbing

  • Audit current news modules and HTTP/caching; extend with multi-source registry keyed by DistroId.

2) Sources

  • Maintain a small table: EndeavourOS → URL, Manjaro → URL, etc., with versioned defaults; allow user override URLs in config for resilience.

3) Classification pipeline

  • Rules: keyword lists (kernel, systemd, glibc, openssl, etc.) + optional RSS categories.
  • Package correlation (stretch): if news references CVE or package name, cross-link to installed version if data available.

4) UX

  • Filter chips: All | Critical | Pacman | AUR; search within cached items.
  • Background refresh with TTL; show last updated timestamp.

Acceptance criteria

  • Works offline with last cached fetch; shows stale indicator.
  • Failing feed: per-source error, others still load.
  • Respects --dry-run for any write (if caching to disk is considered mutating, document behavior consistent with app norms).

Testing

  • Unit tests with recorded HTTP fixtures; no live network in CI.
  • Parser tests for each feed shape you support.

Risks

  • Feed format drift; keep parser tolerant and log parse failures.

Tracking: dev/ROADMAP/OTHER_distro_news.md

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions