Commit Graph
78 Commits
Author SHA1 Message Date
4gray 9f873e6bed feat(player): add embedded-mpv player for macOS as experimental feature
- Introduced tooling for building and staging the macOS `libmpv` runtime for IPTVnator's embedded MPV player.
- Added `build-macos-runtime.mjs` for building an LGPL-compatible runtime from source.
- Created `stage-macos-runtime.mjs` for staging the built runtime artifacts.
- Implemented validation for the packaged embedded MPV runtime in `electron-after-pack.cjs` and `embedded-mpv-macos.cjs`.
- Updated packaging scripts to ensure the embedded MPV runtime is correctly integrated and validated during the build process.
- Added README files to document the expected layout and usage for the embedded MPV runtime artifacts.

Entire-Checkpoint: c6e522b4276c
2026-04-27 00:32:14 +02:00
4gray 10139955e7 fix(stalker): lazy load live tv channels
Entire-Checkpoint: c6e522b4276c
2026-04-27 00:25:56 +02:00
4gray d0f7dcae78 refactor(stalker-live-stream-layout): fix streamUrl usage and enhance web player view component
Entire-Checkpoint: c6e522b4276c
2026-04-26 00:01:40 +02:00
4gray b1d519183f style(empty-state): enhance empty state component with new types and responsive design
- Expanded EmptyStateType to include 'welcome-dashboard', 'welcome-sources', 'no-data'.
- Introduced FeatureCard and SourceCard interfaces for better structure.
- Added FEATURE_CARDS and SOURCE_CARDS constants for feature and source card configurations.
- Updated empty-state.component.ts to handle new types and actions.
- Created responsive styles in empty-state.responsive.scss for better mobile support.
- Added theme styles in empty-state.themes.scss for light mode.
- Developed specific styles for welcome dashboard and sources in empty-state.welcome-dashboard.scss and empty-state.welcome-sources.scss.
- Updated recent-playlists.component.html to utilize new empty state types.
- Modified recent-playlists.component.ts to support new playlist actions.
- Introduced PlaylistFileImportService for handling playlist file imports.
- Updated downloads.component.html and downloads.component.ts to integrate new empty state handling.
- Enhanced unified-collection-page.component.html and unified-collection-page.component.ts to utilize empty state for no results.

Entire-Checkpoint: c6e522b4276c
2026-04-25 22:18:13 +02:00
4gray 74c8adc12e fix(stalker): series favorites handling
Entire-Checkpoint: c6e522b4276c
2026-04-25 22:16:33 +02:00
4gray a2e2959b89 fix(xtream): pagination behavior (back & scroll)
Entire-Checkpoint: c6e522b4276c
2026-04-25 14:11:36 +02:00
4gray cd111b6c36 fix(stalker): enhance pagination handling and add search phrase management
Entire-Checkpoint: c6e522b4276c
2026-04-25 14:09:59 +02:00
4gray efa0385fc8 feat(dashboard): implement context menu with actions for recent sources 2026-04-24 14:27:04 +02:00
4gray 7caa18308d feat: enhance unified collection with workspace commands and backdrop handling
- Added WorkspaceViewCommandService to UnifiedCollectionPageComponent for workspace layout commands.
- Implemented clear current view command for favorites and recent items.
- Updated unified favorites data service to use buildXtreamCollectionUid for UID generation.
- Enhanced unified recent data service to normalize timestamps and handle backdrop URLs.
- Introduced withRecentItems feature to manage recent item additions with backdrop support.
- Updated VodDetailsRouteComponent and SerialDetailsComponent to backfill content backdrops.
- Modified IXtreamDataSource interface to include backdrop URL handling for favorites and recent items.
- Added tests for recent items feature to ensure correct functionality and backdrop handling.
2026-04-22 22:23:50 +02:00
4gray 6904b81c47 feat: implement grid rating formatting and resolution functions 2026-04-22 22:23:30 +02:00
4gray 199ff91fcc feat: enhance recently added component with skeleton loading states and layout improvements 2026-04-22 22:23:12 +02:00
4gray 8d6a387a9f feat: add workspace view command service and related types 2026-04-22 22:22:22 +02:00
4gray c8c93798f9 feat: enhance playlist backup export functionality and UI feedback
Entire-Checkpoint: c6e522b4276c
2026-04-21 08:54:03 +02:00
4gray 3f79b01a9d feat: implement bulk clear favorites functionality with confirmation dialog
Entire-Checkpoint: c6e522b4276c
2026-04-19 23:38:32 +02:00
4gray ff605fc024 fix(xtream): enhance content retrieval by adding content type filtering for Xtream ID lookups #756
Entire-Checkpoint: c6e522b4276c
2026-04-19 22:33:49 +02:00
4gray 4c6e65be9b feat: implement favorites channel sorting functionality and UI updates
Entire-Checkpoint: c6e522b4276c
2026-04-19 22:31:45 +02:00
4gray 21a9cdb0c6 feat: add confirmation dialog for clearing recently viewed items
Entire-Checkpoint: c6e522b4276c
2026-04-18 10:34:34 +02:00
4gray 5e41e3d1ce refactor(favs-recent): adapt UI and routing behavior
- Introduced StalkerCollectionDetailComponent to handle detailed views for Stalker collections.
- Added XtreamCollectionDetailComponent for managing Xtream collection details.
- Updated routing components to integrate new detail components for both Stalker and Xtream.
- Enhanced global favorites and recently viewed functionalities to support new detail navigation for Stalker and Xtream items.
- Improved styling and structure for better responsiveness and user experience in detail views.

Entire-Checkpoint: c6e522b4276c
2026-04-18 10:16:09 +02:00
4gray 562bfd009c feat(unified-collection): add unified collection detail directive
Entire-Checkpoint: c6e522b4276c
2026-04-18 10:13:41 +02:00
4gray b6c71258e4 fix(player): playback position persistence for vlc
Entire-Checkpoint: c6e522b4276c
2026-04-17 23:19:33 +02:00
4gray 15bfd5808c style(downloads): refactor item layout and improve action button styles
Entire-Checkpoint: c6e522b4276c
2026-04-17 00:32:03 +02:00
4gray d0f36a1afe refactor: refactor Stalker portal store, features and utilities
- Updated `with-stalker-portal.feature.ts` to handle undefined currentPlaylist and improved error handling for token retrieval.
- Enhanced `with-stalker-recent.feature.ts` by introducing utility functions for recently viewed items and dispatching playlist meta updates.
- Added unit tests for `with-stalker-selection.feature.ts` to ensure correct state management on category and item selection changes.
- Simplified `with-stalker-selection.feature.ts` by removing unnecessary computed properties and streamlining state management.
- Improved `with-stalker-series.feature.ts` by refactoring resource fetching logic and integrating new utility functions for request execution.
- Created `stalker-store.contracts.ts` to define interfaces for various store contracts, enhancing type safety and clarity.
- Added utility functions in `stalker-collection-persistence.utils.ts` for building recently viewed payloads and dispatching updates.
- Implemented player request utilities in `stalker-player-request.utils.ts` for handling playback links and movie file IDs.
- Introduced request execution utilities in `stalker-request.utils.ts` to streamline authenticated and non-authenticated requests.

Entire-Checkpoint: c6e522b4276c
2026-04-16 21:58:42 +02:00
4gray faa4e2beb2 refactor: update searchContent method to accept flexible parameters and clean up XtreamStore
Entire-Checkpoint: c6e522b4276c
2026-04-16 21:57:18 +02:00
4gray 4175fc57b1 feat(xtream): enhance VOD details handling with fallback mechanisms and metadata validation
- Updated XtreamUrlService to handle missing stream IDs and extensions gracefully.
- Modified XtreamSelectionItem interface to allow for empty info arrays and null values.
- Introduced findVodCatalogItem function in XtreamStore for better catalog item retrieval.
- Added unit tests for fallback view model generation in vod-details-fallback.util.spec.ts.
- Created vod-details-fallback.util.ts to manage fallback view model construction and metadata checks.
- Updated vod-details-route.component.html to display fallback information when metadata is unavailable.
- Enhanced styling for fallback notes and status indicators in vod-details-route.component.scss.
- Implemented comprehensive tests for VodDetailsRouteComponent to ensure proper rendering of fallback and detailed views.
- Refactored xtream-vod-details.interface.ts to include new utility functions for metadata extraction.
2026-04-11 22:32:50 +02:00
4gray 0b1e0b0d58 fix(xtream): streamline serial details initialization and loading logic 2026-04-11 18:37:38 +02:00
4gray a8aa289735 feat(groups): implement channel sorting functionality with UI controls 2026-04-11 14:12:43 +02:00
4gray 0f72efb749 refactor(m3u): add loading state for channel list and improve playlist handling
- Implemented a loading state for channel lists in various components, enhancing user experience during data fetching.
- Added `ChannelListLoadingStateComponent` to display loading skeletons for channels and groups.
- Updated `M3uWorkspaceRouteSession` to manage loading states more effectively when fetching playlists.
- Modified `VideoPlayerComponent`, `SidebarComponent`, and `ChannelListContainerComponent` to utilize the new loading state.
- Enhanced tests to cover new loading behaviors and ensure proper dispatching of loading actions.
2026-04-11 13:20:22 +02:00
4gray 545dfd8c67 feat(stalker): refactor epg handling to use get_epg_info
- Implemented unit tests for StalkerCollectionChannelsListComponent to verify EPG program loading and state management.
- Created unit tests for StalkerLiveStreamLayoutComponent to ensure proper rendering of EPG lists and handling of channel playback.
- Refactored EPG loading logic in StalkerLiveStreamLayoutComponent to improve performance and maintainability.
- Updated HTML template in StalkerLiveStreamLayoutComponent to replace deprecated components with new EPG list component.
- Enhanced EPG program handling by introducing methods for timestamp parsing and current program detection.
2026-04-11 10:43:50 +02:00
4gray c97673b928 refactor: refactor date handling across components to use date-fns and Intl.DateTimeFormat
- Replaced moment.js usage with Intl.DateTimeFormat for date formatting in various components.
- Introduced utility functions `normalizeDateLocale` and `formatWithIntl` for locale normalization and date formatting.
- Updated PlaylistSwitcher, RecentPlaylists, ContentCard, EPG components, and MultiEpgContainer to utilize the new date formatting approach.
- Removed moment-date pipe and related tests, simplifying date handling logic.
- Ensured all date displays respect the current locale settings.

Entire-Checkpoint: 271bd0162027
2026-04-11 10:41:33 +02:00
4gray 77dbfd7eae style: unify search bar styling across components and improve display properties
Entire-Checkpoint: dd05e045e1b2
2026-04-11 08:13:39 +02:00
4gray 9c0d49a1dc refactor: improve archive playback support in video player and unify EPG display across components 2026-04-10 07:54:24 +02:00
4gray 4005687f18 refactor: improve archive playback support and enhance EPG item display 2026-04-10 07:53:48 +02:00
4gray 03eadb2ba6 feat: enhance audio player and video player for radio support
- Updated video player component to conditionally render audio player for radio channels.
- Added radio-specific styles to video player and unified live tab components.
- Introduced new layout classes for radio and external players.
- Enhanced audio player component with improved UI and volume controls.
- Implemented logic to preserve radio flag in M3U playback details.
- Updated tests to cover new radio functionality and ensure proper rendering.
2026-04-06 22:45:46 +02:00
4gray 76e4e1b032 feat: enhance playlist management by adding optional title input and updating URL submission logic 2026-04-06 17:57:04 +02:00
4gray 58f0d95972 fix: enhance playlist management by adding user agent and referrer checks, and streamline bootstrap logic 2026-04-06 16:09:56 +02:00
4gray 062002e91c test: add selectedCategoryId signal and setSelectedCategory method to manage category selection 2026-04-06 15:05:17 +02:00
4gray 5a070f5550 feat: enhance routing with reactive route parameter signals and update catalog facade for search query handling 2026-04-06 12:58:06 +02:00
4gray c58c7468e2 feat: add offline cache availability checks and enhance hasUsableOfflineCache method 2026-04-06 12:57:54 +02:00
4gray 4ba6d43dc9 feat: refactor favorites layout component by removing commented code and optimizing workspace layout check 2026-04-06 12:57:40 +02:00
4gray d5f20d1df2 feat: implement cached offline notice component and enhance catalog facade with search query handling 2026-04-06 12:57:03 +02:00
4gray 04f9686483 feat: implement detailed tracing for database operations, window events, and renderer API interactions 2026-04-05 23:26:09 +02:00
4gray d22515657d feat: enhance EPG handling and improve component tests for live streams 2026-04-05 19:04:50 +02:00
4gray 2e92629154 feat: refactor recent metadata handling for series content in Stalker player and recent features 2026-04-05 19:04:46 +02:00
4gray 12eca90e4a feat: enhance Xtream data models and services with EPG support, including new fields for content and improved API handling 2026-04-05 19:04:40 +02:00
4gray fb04b0b0f5 feat: enhance live stream layout with EPG loading state, archive notices, and program activation handling 2026-04-05 19:04:34 +02:00
4gray a0a084fef7 feat: enhance content loading state management and improve recent playlists component tests 2026-04-04 20:42:22 +02:00
4gray eef18dea68 feat: add Jest configuration and tests for category content view component 2026-04-04 20:41:59 +02:00
4gray c935c8616d feat: refactor search input to improve UI and accessibility in category management dialog
Entire-Checkpoint: 55bde394786b
2026-04-04 20:29:42 +02:00
4gray 0661bf08b5 feat: implement loading state and skeleton UI for channel list
Entire-Checkpoint: e6dee91f3aee
2026-04-04 20:27:25 +02:00
4gray c62e8859ea feat: add copy URL functionality to downloads with user feedback
Entire-Checkpoint: 55bde394786b
2026-04-04 20:19:14 +02:00