Release v0.8.5
Major Changes
CSS Architecture Overhaul
- Created
shared/common.csswith reusable patterns for buttons, forms, modals, and utilities - Created
ModalBase.csswith standardized modal styling - Consolidated duplicate CSS across 25+ component files, reducing total CSS by ~2000 lines
- Added
CustomSelectcomponent replacing native browser selects with styled dropdowns - Visual regression testing added for CSS changes
Stream Performance & UX
- Lazy loading optimization: Stream groups now display counts immediately before expansion
- Stream counts fetched efficiently via concurrent API requests
- Reduced initial page load time by deferring stream data until needed
Settings & Normalization
- Enhanced stream name normalization with pipe character and superscript support
- Country prefix stripping now works correctly in Settings preview
- Consolidated duplicate EPG search logic into shared utility
Testing Infrastructure
- Added CSS smoke tests for visual consistency
- Added modal-specific E2E tests
- Visual regression snapshots for all major tabs
Bug Fixes
- Fixed bulk create ReferenceError with undefined appSettings
- Fixed M3UGroupsModal to maintain consistent 80vh height
- Fixed various modal styling inconsistencies
Full Changelog
75 commits from v0.8.4 to v0.8.5