Commit Graph
147 Commits
Author SHA1 Message Date
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 268a710bf2 refactor(dashboard): improvements for dashboard widgets
- Updated dashboard activity items styles for improved layout and media representation.
- Introduced new styles for movie and series media types.
- Enhanced placeholder styles for live, movie, and series items using oklch color model.
- Added hover effects for activity items and action buttons in grid mode.
- Refactored dashboard widget shell styles for better alignment and padding.
- Created new on-air widget component with category filtering and loading skeletons.
- Implemented responsive design for on-air widget and improved empty state handling.
- Removed deprecated recent sources widget and integrated recent sources functionality into existing components.
- Updated recently watched widget to include action links for adding sources.
- Enhanced source stats widget with new styling for different source types (Xtream, Stalker, M3U).
2026-03-08 11:23:34 +01:00
4gray a8fd16b16d style: add shared styles for content grid, portal layout, and sidebar components 2026-03-08 11:21:44 +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
4gray d847524d0d feat: implement Stalker playback utilities and enhance live stream layout
- Add utility functions for handling Stalker playback, including building headers and checking cross-origin streams.
- Update the live stream layout to improve the user experience with a new empty state design.
- Refactor favorites and recently viewed components to support live channel selection and sorting.
- Introduce a new live channel sorting feature in favorites and recently viewed sections.
- Enhance the portal channels list component to handle channel overrides and sorting.
- Remove unnecessary styles and improve the overall layout for better responsiveness.
2026-03-07 12:07:13 +01:00
4gray e2cdcd5f22 feat: add portal inline player component and integrate with existing views
- Introduced `PortalInlinePlayerComponent` with SCSS styles for inline playback.
- Updated `StalkerSeriesViewComponent` to utilize the new inline player for episode playback.
- Enhanced `CategoryContentViewComponent`, `SerialDetailsComponent`, and `VodDetailsRouteComponent` to support inline playback functionality.
- Implemented time update handling and stream URL copy notifications across components.
- Created `ResolvedPortalPlayback` and `PlayerContentInfo` interfaces for structured playback data.
- Updated relevant services and stores to manage playback state and positions.
2026-03-06 23:30:16 +01:00
4gray ea55c485a7 Merge pull request #801 from markc1984/master
fix: support raw MPEG-TS (.ts) streams in all embedded video players
2026-03-05 23:42:38 +01:00
4gray e24967fc68 feat: implement Stalker portal normalization and watchdog functionality in playlists and session services
feat: enhance EPG list component with channel icon fallback and scrolling behavior
style: update styles for EPG list and playlist item components for improved UI
fix: add selection state to playlist items in recent playlists component
2026-03-05 23:35:24 +01:00
4gray 698668f3e3 refactor: Enhance Stalker Live Stream Layout and EPG components
- Refactored StalkerLiveStreamLayoutComponent to improve channel selection and playback handling.
- Introduced new methods for building external playback headers and handling cross-origin streams.
- Updated EPG preview logic to use a more structured approach with EpgProgram type.
- Improved styling for channel list items, including hover effects and active states.
- Enhanced EPG view with a more responsive layout and improved item display.
- Updated video player components to ensure proper sizing and overflow handling.
- Added fallback handling for channel logos and improved action button visibility.
2026-03-05 23:34:17 +01:00
4gray 96f3205868 Merge branch 'vk/dab9-add-sqlite-suppo' 2026-03-03 18:26:51 +01:00
4gray 9787f79176 fix(database): silence expected duplicate-column migration logs 2026-03-03 12:03:01 +01:00
4gray c325b94347 fix(storage): normalize playlist service return types for Electron/PWA 2026-03-03 11:45:36 +01:00
markc1984 b0e1642e6c fix: address code review issues for mpegts.js integration
- ArtPlayer: use getExtensionFromUrl for query-string-aware URL parsing
  instead of naive split('.').pop() and endsWith('.ts')
- VJS player: call player.reset() before initMpegTs() on non-TS to TS
  channel switch to prevent playback conflicts
2026-03-03 07:01:50 +00:00
markc1984 e3d1bf2048 fix: support raw MPEG-TS (.ts) streams in all embedded video players
Xtream Codes live streams with .ts format serve continuous raw MPEG-TS
data over HTTP, not HLS playlists. All three embedded players failed to
handle this: ArtPlayer had no handler, HTML5 player fed it to HLS.js,
and Video.js tried to parse it as an HLS manifest.

Add mpegts.js to handle raw MPEG-TS streams via Media Source Extensions
in ArtPlayer, HTML5 player, and Video.js. Fix the MIME type for .ts
sources from application/x-mpegURL to video/mp2t.
2026-03-03 06:47:34 +00:00
4gray 7370019abe fix: resolve type definition in playlists service 2026-03-02 23:52:42 +01:00
4gray 086eab9306 feat(storage): add SQLite-backed m3u playlists for Electron with IndexedDB migration 2026-03-02 23:41:02 +01:00
4gray 129848c4d4 feat: remove home component, and update workspace UI and routing 2026-03-02 22:31:10 +01:00
4gray 20485972c3 feat: refactor dashboard widgets, and remove the home component. 2026-03-02 22:30:16 +01:00
4gray 992b996ecd feat: general development, update core application components, and enhance build scripts. 2026-03-01 22:52:33 +01:00
4gray 09efead104 style: enhance UI components with improved styles, search functionality, and error handling 2026-02-26 00:45:58 +01:00
4gray e1b41832a9 feat(playlist-switcher): add playlist type filters and enhance search functionality 2026-02-25 07:45:00 +01:00
4gray 853ba51c25 style(widget): add title class to focus source and improve text overflow handling 2026-02-25 07:44:03 +01:00
4gray ff76eb1af2 feat: Refactor workspace panel resizing to use a unified storage key, enhance downloads UI, and introduce new AI assistant skill definitions. 2026-02-25 00:17:34 +01:00
4gray 9193f8bb80 feat(workspace): add i18n support for dashboard widgets and update translations 2026-02-24 21:14:34 +01:00
4gray 22c1e5462c refactor: code style improvements 2026-02-24 19:18:09 +01:00
4gray 5e46731d26 feat(favorites): add global favorites retrieval and update layout for workspace support 2026-02-24 19:16:41 +01:00
4gray 4211f22a69 feat(dashboard): create separate workspace-dashboard lib with widgets
- Implemented `DashboardActivityItemsComponent` with styles and functionality for displaying activity items in list and grid views.
- Created `DashboardWidgetShellComponent` for consistent widget layout with header and content areas.
- Developed `GlobalFavoritesWidgetComponent` to manage and display global favorites with filtering options.
- Added `RecentSourcesWidgetComponent` to show recently accessed sources with links to manage them.
- Introduced `RecentlyWatchedWidgetComponent` to track and display recently watched content with filtering capabilities.
- Created `SourceStatsWidgetComponent` to present statistics of different source types.
- Established TypeScript configuration files for the dashboard UI library.
2026-02-24 19:08:10 +01:00
4gray 538649feff feat(players): enhance video player with audio track management and UI adjustments
Entire-Checkpoint: f35656857e95
2026-02-21 11:56:21 +01:00
4gray fae4c44804 chore: update angular dependencies 2026-02-20 08:22:50 +01:00
4gray 61ef8e2553 refactor(xtream): introduce silent actions and improve error handling for Xtream requests 2026-02-16 23:37:05 +01:00
4gray 0623baa4b7 fix(playlists): update timestamp of recently viewed items 2026-02-16 22:16:12 +01:00
4gray 87b2c509aa fix(channel-list): handle null values in channelList input setter
Entire-Checkpoint: 033757b19995
2026-02-15 23:20:50 +01:00
4gray a9eee9e64f refactor(stalker): adapt store calls, enhance recently viewed, favorites, download manger layout 2026-02-14 15:44:16 +01:00
4gray f0be21486d refactor(stalker): add VOD series adapters and tests
- Implemented `stalker-series.adapters.ts` for mapping VOD series seasons and episodes.
- Added utility functions for handling VOD series items and mapping to view models.
- Created unit tests for the new adapter functions in `stalker-series.adapters.spec.ts`.
- Updated `stalker.store.ts` to manage VOD series state and handle favorites.
- Enhanced `category-content-view` component to support favorite functionality for VOD items.
- Refactored favorite management in `playlists.service.ts` to ensure proper ID handling.
2026-02-14 11:47:36 +01:00
4gray 7c9db4bc7d feat(remote-control): add channel selection by number and volume control features
- Implemented `getChannelItemByNumber` utility function to retrieve channels by their number.
- Enhanced `StalkerLiveStreamLayoutComponent` and `LiveStreamLayoutComponent` to handle remote control commands for channel selection and volume adjustments.
- Updated typings to include new remote control commands and status updates.
- Refactored `RemoteControlComponent` to manage numeric input for channel selection and volume control actions.
- Improved UI for remote control with new volume and channel navigation features.
- Added service methods for volume up, down, and mute toggle in `RemoteControlService`.
2026-02-14 00:03:42 +01:00
4gray c63988d0fc style(m3u): adjust channel list item width and add responsive container queries
Entire-Checkpoint: 3ba3a7503b59
2026-02-11 23:11:41 +01:00
4gray 166e81dae0 fix(xtream): enhance error handling in content hero and serial details components
Entire-Checkpoint: 3ba3a7503b59
2026-02-11 22:50:33 +01:00
4gray 6e93ec81fd feat: add excludeHidden option to search functions for filtering results
This commit closes #760
2026-02-09 23:43:21 +01:00
4gray 3e7c58b049 refactor: replace lodash import with specific groupBy function for improved performance 2026-02-08 20:23:48 +01:00
4gray d603c46a5a feat: implement stalker live stream layout with EPG support
- Added new component for live stream layout with sidebar and content area.
- Integrated playlist switcher and category view for better navigation.
- Implemented channel list with loading indicators and favorite functionality.
- Added EPG (Electronic Program Guide) support for channels with loading and pagination.
- Enhanced styles for responsive design and improved user experience.
- Updated routing to use the new live stream layout component.
- Modified stalker store to handle EPG fetching and search functionality.
- Introduced new actions in the StalkerPortalActions enum for EPG operations.
2026-02-08 19:19:15 +01:00
4gray edcd7cb148 feat: improve global favorites handling and channel display logic in the UI 2026-02-08 19:18:56 +01:00
4gray bb1f3af082 refactor: optimize progress calculation and enhance enriched channel retrieval in favorites and groups tabs 2026-02-01 22:35:10 +01:00
4gray ed8c373d78 feat: add favorite functionality to channel list items and groups tab 2026-02-01 21:13:52 +01:00
4gray 3988708ab5 refactor: move favorites tab to own component 2026-02-01 20:22:46 +01:00
4gray 40173e6498 feat: improve search behavior, add debounce operation, skip FilterPipe 2026-02-01 20:22:20 +01:00
4gray 8b95cfea70 feat: implement groups tab with infinite scroll and enriched channel data 2026-02-01 20:20:15 +01:00
4gray 6b18d91ca7 Merge pull request #749 from 4gray/feat/custom-sorting-for-playlists
Feat/custom-sorting-for-playlists
2026-02-01 16:40:56 +01:00
4grayandClaude Opus 4.5 932b1e5b53 feat: add custom drag-and-drop sorting for playlists
Add a new "Custom order" sort option that allows users to manually
reorder playlists via drag-and-drop. When this sort mode is active,
drag handles appear in front of each playlist item.

- Add SortBy.CUSTOM enum value to SortService
- Add custom order button to filter-sort-menu
- Add isDraggable input and cdkDrag support to PlaylistItemComponent
- Enable cdkDropList in RecentPlaylistsComponent when custom sort active
- Add translation key for custom order option

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 15:57:18 +01:00
4grayandClaude Opus 4.5 0643acac3a feat: add o_name support and Stalker playback position tracking
- Add o_name (original title) field to Stalker VOD interfaces
- Prefer o_name over name in adapters and grid list display
- Add playback position tracking for Stalker VOD content
- Support resume playback from last position in vod-details
- Add real-time position updates via IPC listener
- Add progress indicators for Stalker VOD items in grid view
- Add debug logging for VOD series seasons resource

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 10:55:45 +01:00