Repository navigation
v3.3.3 · Übersicht: Master-Gruppe pro Typ (UI-only)
Integration: Title Classifier (title_classifier) — v3.3.3
UI-only: the Overview now groups watchers by context into one collapsible master block per type. Several watchers of the same context (e.g. Stash Slot 1..4) sit under a single "Stash" master header instead of loose flat cards.
STASH ▾ 4 Master · 2/4 aktiv · Enum 1
├ Stash Slot 1 · Overcharged Breeding · 1
├ Stash Slot 2 · River & Victor · 1
├ Stash Slot 3 · — inaktiv — · 0
└ Stash Slot 4 · — inaktiv — · 0
Change
- New pure helper
groupSourcesByContext(unit-tested): groups sources by context in first-appearance order and precomputes the master aggregate — total, active/online counts, highest active enum, active titles. Overview.tsxrenders one collapsible master header per group (label · count badge ·Master · X/N aktiv · Enum <max>); the existingWatcherCards (incl. inline enum/apply) are unchanged underneath.- CSS for the group/header (
styles.css). Frontend bundle rebuilt (vite).
Deliberately NOT in this PR
No new entity, no aggregate sensor, no downstream/contract/WS change — grouping is purely visual. (The "real aggregate master sensor" option was declined by the user for now.)
Gates
tsc --noEmit: OKvitest: 98 passed (+5 forgroupSourcesByContext)pytest: 198 passed (Python unchanged)- manifest JSON valid · manifest 3.3.3
🤖 Generated with Claude Code