Commit graph

9 commits

Author SHA1 Message Date
d8991905d7 fix(m1): address HIGH review findings — journald zombie, silent exit, double-delivery 2026-05-18 18:56:45 -07:00
c3958553a5 fix(m1): move mut rx inside async block (clippy), log+continue on parse errors in load() 2026-05-18 18:22:50 -07:00
2706b2367d feat(m1): wire classifier loop — pattern file loads on startup, events dispatch to notify
- lib.rs: replaces stub setup with full wiring: loads PatternFile from
  config, extracts log_paths, spawns watcher, runs classifier loop in
  async task, dispatches MatchedEvents via notify::dispatch
- lib.rs: config Mutex lock uses unwrap_or_else(|e| e.into_inner()) to
  recover from poison instead of panicking
- patterns.rs: load() now tries three path candidates in order
  (dev-relative, src-tauri-relative, system) before returning bail!
  Validation loop (match_text, sources) retained inside candidate loop
2026-05-18 18:09:33 -07:00
3b7653d731 feat(m1): notification delivery — tray badge, desktop toast, pending event queue 2026-05-18 17:27:41 -07:00
d1bea47495 refactor(m1): restructure watcher into module with EventSource, SystemEvent
Replace flat watcher.rs with watcher/ module containing mod.rs plus stub
sub-modules for journald, kmsg, and inotify. Upgrades spawn() to accept
log_paths and return mpsc::Receiver<SystemEvent>. Updates lib.rs call site.
2026-05-18 17:10:37 -07:00
1e733a062b feat(m1): pattern system — PatternFile loader and classify()
Add EventSource enum and update SystemEvent in watcher.rs (M0 stub
updated to support Task 5 clean deletion). Create patterns.rs with
PatternFile/Pattern/MatchedEvent types, TOML loader, and classify()
matching against source + text. Five unit tests covering journald,
applog, no-match, and source discrimination cases.
2026-05-18 16:57:05 -07:00
dc45c82aba feat(m1): distro detection from /etc/os-release, update_notification_level command 2026-05-18 15:53:03 -07:00
cee05b5d18 fix(m1): serde defaults on Tier and NotificationLevel, PartialEq on SourceOs 2026-05-18 15:21:03 -07:00
642f89c10b feat: M0 scaffold — Tauri 2 + Vue 3, system tray, first-run onboarding, config layer 2026-05-18 10:06:49 -07:00