Commit Graph
329 Commits
Author SHA1 Message Date
Claude fc878e7c09 fix(e2e): update electron e2e fixtures for new unified add-playlist dialog
Replace menuitem selectors with mat-button-toggle[value] selectors in
all four playlist import helpers (file, url, xtream, stalker) and rename
openAddPlaylistMenu to openAddPlaylistDialog to reflect that clicking
"Add playlist" now opens a dialog directly instead of a dropdown menu.

https://claude.ai/code/session_01VU6ZZTG7YrhKhKBQvBfmpp
2026-03-30 17:52:12 +00:00
Claude 464d2eda01 fix(e2e): use mat-button-toggle value selectors for playlist type selection
mat-button-toggle elements inside a group render their internal buttons
with role="radio", not role="button", so getByRole('button') selectors
fail. Switch to attribute selectors targeting the value attribute instead.

https://claude.ai/code/session_01VU6ZZTG7YrhKhKBQvBfmpp
2026-03-30 06:48:49 +00:00
4gray cf311ddf6f refactor(e2e): update dialog interactions for playlist addition in tests
Entire-Checkpoint: 84693b066142
2026-03-29 15:28:02 +02:00
4gray 69bf106999 style(playlists): merge "add playlist" dialogs to one entrypoint dialog
Entire-Checkpoint: 84693b066142
2026-03-29 15:27:46 +02:00
4gray 3a66bf21a3 test(e2e): enhance Xtream category management and sorting with unique title handling 2026-03-29 13:37:48 +02:00
4gray f9e25c9799 feat(xtream): add clear form button and functionality 2026-03-29 13:37:08 +02:00
4gray f6f3103794 feat(e2e): add tests for recent channels, settings persistence, and sources management
- Implemented tests for tracking recently viewed channels in M3U playlists, ensuring they persist across app restarts.
- Added functionality to manage Xtream and Stalker history, including support for clearing recent items.
- Enhanced settings tests to verify persistence of user preferences across app restarts, including language, video player, and theme settings.
- Created comprehensive tests for managing sources, including filtering, sorting, editing, and deleting M3U, Xtream, and Stalker sources.
- Introduced mock fixtures for Xtream and Stalker categories to facilitate testing.
2026-03-29 00:58:36 +01:00
4gray 2eb608992a test(e2e): streamline input handling in addStalkerPortal and enhance locator usage 2026-03-28 21:44:24 +01:00
4gray 83b6604c41 feat(routes): add M3uWorkspaceRouteSession providers for playlist routes 2026-03-28 21:44:00 +01:00
4gray 688d9ec123 fix(worker): implement worker runtime path resolution and native module loading 2026-03-28 21:42:19 +01:00
4gray 85f08929e8 fix: update import paths for jest presets to include .js extension 2026-03-28 16:03:07 +01:00
4gray 0a80dd5050 test(jest): correct import path for nxPreset to include .js extension 2026-03-28 15:56:10 +01:00
4gray b6110c52f6 feat(typings): enhance typings with new database operation types and parameters 2026-03-28 15:48:00 +01:00
4gray bf5a5bbe51 feat(scenarios): add stress catalog scenario for CI workload testing 2026-03-28 15:47:47 +01:00
4gray a884ef256c feat(routes): add routes for M3U favorites, recent pages, and global recent
feat(tests): implement tests for app routes and settings component
feat(settings): enhance remove all playlists functionality with loading state
fix(imports): update import paths for EpgProgressPanelComponent and ExternalPlayerInfoDialogComponent
2026-03-28 15:46:37 +01:00
4gray 78fb8a3858 feat(tests): add test stubs for IPTV playlist parser and player dialog component 2026-03-28 15:46:14 +01:00
4gray 3b617b9515 feat(i18n): enhance playlist update and removal messages in English, German, and Russian translations 2026-03-28 15:45:21 +01:00
4gray a17ed73806 feat(fonts): replace Google Fonts with bundled font imports and update typography settings 2026-03-28 15:45:06 +01:00
4gray 4a7855895b feat(tests): update Jest configuration for ESM support and add new test setups for playlist-shared-ui 2026-03-28 15:44:17 +01:00
4gray 456173b772 feat(database): implement DatabaseWorkerClient and associated worker functionality
- Added DatabaseWorkerClient to manage database operations in a worker thread.
- Created database-worker-client.ts to handle requests and responses between the main process and the worker.
- Introduced database-worker.types.ts for type definitions related to worker messages and operations.
- Implemented database.worker.ts to execute various database operations, including CRUD operations for playlists, content, and favorites.
- Added database.worker-connection.ts to manage database connections and ensure proper handling of SQLite instances.
- Created tests for DatabaseWorkerClient to ensure correct request handling and error management.
- Updated xtream.events.ts to allow suppression of error logging for specific requests.
- Enhanced EPG parser worker to include a busy timeout for SQLite operations.
- Integrated shutdown logic for the DatabaseWorkerClient in the main application lifecycle.
2026-03-28 15:40:06 +01:00
4gray 40039d6650 refractor: update recently viewed section text for clarity in English, German, and Russian translations
Entire-Checkpoint: 56d3e3141f61
2026-03-26 22:45:51 +01:00
4gray 251b922659 style: update font sizes, weights, and letter-spacing for improved readability and consistency across various components
Entire-Checkpoint: e6dee91f3aee
2026-03-26 08:12:50 +01:00
4gray 8e86bb77f3 style: update background and border styles using color-mix for improved theming
Entire-Checkpoint: 7a59119e1876
2026-03-25 21:29:29 +01:00
4gray 879f018a81 style: enhance theme and layout styles, improve accessibility labels, and refine component shadows
Entire-Checkpoint: 73c4b0ef53fd
2026-03-25 21:01:06 +01:00
4gray a987e10a59 feat: Implement global favorites list component with drag-and-drop support
- Added `GlobalFavoritesListComponent` to display and manage favorite channels.
- Integrated drag-and-drop functionality for reordering favorite channels.
- Created HTML and SCSS files for the global favorites list layout and styling.
- Implemented logic to handle empty states and search functionality within the favorites list.

feat: Enhance unified collection page with live and grid tabs

- Developed `UnifiedCollectionPageComponent` to manage different content types (live, movies, series).
- Added `UnifiedGridTabComponent` and `UnifiedLiveTabComponent` for displaying content in grid and live formats.
- Implemented loading states and empty states for better user experience.
- Integrated EPG (Electronic Program Guide) functionality for live channels.

style: Refactor styles for unified collection components

- Updated SCSS styles for `UnifiedGridTabComponent` and `UnifiedLiveTabComponent` to improve layout and responsiveness.
- Added skeleton loading states for better visual feedback during data fetching.

fix: Improve scrolling behavior in category view component

- Adjusted scrolling logic in `CategoryViewComponent` to ensure selected categories are centered in the view.

Entire-Checkpoint: 0e4488af6c76
2026-03-25 19:20:59 +01:00
4gray e579c21486 Merge pull request #803 from GiviMAD/fix_epg_ignored_programs
fix: epg ignored programs
2026-03-17 23:30:42 +01:00
4gray 81c2aab829 test(e2e): add end-to-end tests for playlist import, providers, and settings persistence
- Implemented tests for importing M3U playlists via native dialog.
- Added smoke tests for loading Xtream and Stalker content through IPC.
- Created tests to verify persistence of remote control settings across app restarts.
- Updated smoke tests to check for main window properties and workspace content rendering.

refactor(electron-backend): enhance store service and database path handling

- Modified store service to use a dynamic configuration directory based on environment.
- Refactored database connection to utilize new path utility functions for better path management.

fix(e2e): improve test selectors and structure for better reliability

- Updated test selectors in web-e2e tests to use role-based queries for better accessibility.
- Refactored settings tests to reduce redundancy and improve clarity.

chore(e2e): update TypeScript configuration for better inclusion of test files

- Adjusted tsconfig.json to ensure proper inclusion of e2e test files.

Entire-Checkpoint: bb9a8e2e351e
2026-03-17 23:30:16 +01:00
4gray 689c7bd949 feat(i18n): add new download-related messages and dialogs for English, German, and Russian translations 2026-03-14 23:41:08 +01:00
4gray 137d1f01ad style(nav-list): update hover styles and clean up unused styles in workspace shell 2026-03-14 23:40:09 +01:00
4gray 841e7d93f9 style(video-player): replace custom player image and enhance styling; add external playback session handling 2026-03-14 11:56:03 +01:00
4gray c42e35b48d refactor(external-playback): improve session handling and remove dismiss functionality 2026-03-14 11:55:26 +01:00
4gray ec84eea924 feat(macOS): add notarization support and entitlements for Electron app 2026-03-13 07:36:09 +01:00
4gray 188ebb6fd9 refactor: enhance error handling for playlist updates and add missing i18n strings 2026-03-10 08:52:38 +01:00
4gray 0012fcfa7b style(settings): update look&feel, add missing i18n strings 2026-03-10 08:37:46 +01:00
4gray bf7adcd7b4 refactor(settings): add system theme option to language files
Added "SYSTEM_THEME" translations to various language JSON files
2026-03-10 08:36:51 +01:00
4gray 7ac2fd66b8 refactor: update nx monorepo structure 2026-03-09 23:24:34 +01:00
4gray aa739f43e0 refactor: update nx monorepo structure 2026-03-09 21:44:28 +01:00
4gray 0ad1eeb785 refactor: update nx monorepo structure 2026-03-09 20:28:31 +01:00
4gray 9834c9fc0d refactor(portals): more structural changes in monorepo for xtream and stalker
feat(xtream): implement category management dialog and main container with sorting and searching features

style(stalker, xtream): add styles for main container, shell, and category management dialog

fix(xtream): update routing and state management for playlist and content sections

chore: update tsconfig paths for stalker and xtream features
2026-03-08 21:49:39 +01:00
4gray b5bd1bd92a refactor(portals): create nx feature libraries for xtream and stalker
- Added StalkerCatalogFacadeService to manage Stalker catalog operations.
- Created stalker-feature-loaders to define route options for Stalker features.
- Removed deprecated stalker.routes.ts file.
- Updated shared utilities to include portal catalog facade interfaces.

feat(xtream): implement XtreamCatalogFacadeService and related feature loaders

- Added XtreamCatalogFacadeService to manage Xtream catalog operations.
- Created xtream-feature-loaders to define route options for Xtream features.
- Removed deprecated xtream.routes.ts file.
- Updated shared utilities to include portal catalog facade interfaces.

refactor: organize portal feature libraries

- Created separate feature libraries for Stalker and Xtream.
- Defined project structure and TypeScript configurations for both libraries.
- Implemented routing configurations for Stalker and Xtream features.
2026-03-08 21:21:17 +01:00
4gray 7f67962dd7 refactor(nx): update repository structure for portals 2026-03-08 20:09:50 +01:00
4gray 256f0e0136 refactor(nx): update repository structure
Introduce new libraries to improve the boundaries and dependencies in mono repo
2026-03-08 20:01:42 +01:00
4gray 1780bb0e53 refactor: remove 'on-air' widget and related functionality from dashboard 2026-03-08 18:55:18 +01:00
4gray 3b04b5105f feat(global-favorites): implement global favorites feature with drag-and-drop support
- Added GlobalFavoritesListComponent to manage and display favorite channels.
- Created GlobalFavoritesPageComponent to serve as the main page for global favorites.
- Implemented loading and displaying of EPG data for channels.
- Introduced GlobalFavoritesService to handle fetching, removing, and reordering favorites from various sources (M3U, Xtream, Stalker).
- Enhanced unified favorite channel interface to support new features and data structures.
- Added necessary HTML and SCSS for the global favorites page layout and styling.
- Updated database schema to include position column for favorites to support ordering.
- Added typings for new database operations related to global favorites.
2026-03-08 18:17:04 +01:00
4gray 9e1ef0b0bd refactor: enhance playlist favorites handling and introduce portal activity items
- Updated the `selectFavorites` selector to filter favorites ensuring they are strings.
- Added new interfaces for `PortalActivityItem`, `PortalRecentItem`, and `PortalFavoriteItem` to standardize activity item representation.
- Introduced `StalkerPortalItem` interface to represent items in Stalker portals.
- Created utility functions for extracting and normalizing data from Stalker portal items.
- Refactored `DashboardDataService` to utilize new interfaces and utility functions for managing recent and favorite items.
- Removed deprecated mapping functions and replaced them with direct usage of new interfaces.
- Added navigation utilities for recent and favorite items to streamline routing logic.
2026-03-08 15:48:37 +01:00
4gray c6bd861b49 refactor: streamline layout and styling for live stream component
- Consolidated SCSS styles for the live stream layout, reducing redundancy and improving maintainability.
- Introduced a new portal layout mixin for better structure.
- Enhanced sidebar and content container styles for improved user experience.
- Updated TypeScript component to utilize new styles and improve readability.
- Refactored channel list and recently viewed components for consistency in design.
- Optimized playlist service and store interactions for better performance.
- Added new translations for enhanced user interface clarity.
- Improved database schema with additional indexing for EPG programs.
2026-03-08 11:25:26 +01:00
4gray fb4553c55f refactor(styles): streamline style files by forwarding mixins for content grid, portal layout, and sidebar 2026-03-08 11:24:14 +01:00
4gray bd0a1f36bf refactor: enhance error handling for playlist fetching with user-friendly messages 2026-03-07 21:45:59 +01:00
4gray 4732af8a38 feat: add external playback support and UI enhancements
- Integrated external playback functionality in category and detail views.
- Updated styles for play buttons to reflect different states (idle, launching, stop).
- Enhanced episode cards to indicate launching and active external playback states.
- Added new computed properties for managing external playback session states.
- Improved user interface for playback buttons with dynamic labels and icons based on playback state.
- Introduced new settings option to show external playback status bar on desktop.
- Updated translations for new features and UI elements.
2026-03-07 19:06:40 +01:00
4gray 3a2114c932 refactor: add portal debug logging utilities and corresponding tests 2026-03-07 19:05:56 +01:00