Commit Graph
316 Commits
Author SHA1 Message Date
Eliran SapirandClaude Sonnet 4.6 30b8533e3a fix(xtream): use server timezone when constructing catchup/timeshift URLs
Previously the server timezone returned by the Xtream API (`server_info.timezone`)
was fetched but never applied when formatting the start timestamp in catchup URLs.
This caused timeshift requests to use the client's local time instead of the
server's local time, resulting in wrong or missing archive content.

Changes:
- Store `server_info.timezone` on the playlist state after a successful portal
  status check (`with-portal.feature.ts`)
- Thread `serverTimezone?` through `resolveCatchupUrl` → `constructCatchupUrl`
  → `formatCatchupStartTime` in `XtreamUrlService`
- `formatCatchupStartTime` now uses `Intl.DateTimeFormat` with the server
  timezone when available, falling back to local time when not set
- Pass `playlist.serverTimezone` from `LiveStreamLayoutComponent.playCatchup`
- Add `serverTimezone?` field to `XtreamPlaylistData` interface

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 05:51:42 -04:00
4gray 313ff7a24f fix(command-palette): enhance command palette management with dialog reference
Entire-Checkpoint: c6e522b4276c
2026-04-26 01:06:36 +02:00
4gray f0df67b5b4 test: add missing config
Entire-Checkpoint: c6e522b4276c
2026-04-26 00:31:23 +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 4bc733d9c2 refactor(external-playback): update styles
Entire-Checkpoint: c6e522b4276c
2026-04-25 23:48:21 +02:00
4gray ce7ae1a251 refactor(external-playback): add translation support for close player button and update UI styles
Entire-Checkpoint: c6e522b4276c
2026-04-25 23:43:22 +02:00
4gray 4616df5d16 refactor(playlist-import): update file upload handling and emit imported event
Entire-Checkpoint: c6e522b4276c
2026-04-25 22:32:08 +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 6eb602d332 feat(playlist-switcher): add refresh button for active playlist with spinning icon
Entire-Checkpoint: c6e522b4276c
2026-04-25 22:14:20 +02:00
4gray 92f21bd237 feat(workspace): enhance dashboard and sources components with playlist management and UI improvements
Entire-Checkpoint: c6e522b4276c
2026-04-25 22:11:31 +02:00
4gray caed2ce396 feat(playlist-drop-overlay): add component and directive for file drop overlay functionality
Entire-Checkpoint: c6e522b4276c
2026-04-25 22:08:03 +02:00
4gray a76f09a8ce style(dashboard): enhance hero artwork handling with fallback logic and image failure management
Entire-Checkpoint: c6e522b4276c
2026-04-25 15:11:25 +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 4b4d0abfab test: refactor electron window handling in PlaylistsService tests 2026-04-22 22:33:06 +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 a5b26065c9 feat: implement SQLite UTC timestamp normalization in stalker-item normalizer 2026-04-22 22:21:29 +02:00
4gray ad528238b2 feat: add backdrop_url to content schema and related database operations 2026-04-22 22:20:48 +02:00
4gray 0e77f7b98a refactor: rework dashboard view
- Removed global favorites related properties and methods from WorkspaceShellHeaderComponent.
- Updated WorkspaceShellFacade to streamline command palette commands and navigation.
- Refactored command palette to include type-aware xtream import progress labels.
- Enhanced WorkspaceShellComponent to display import progress with improved styling.
- Updated tests to reflect changes in command palette and import progress handling.
2026-04-22 22:19:42 +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 7b46509d21 feat: implement EPG source status component and enhance EPG data management in settings
Entire-Checkpoint: c6e522b4276c
2026-04-20 01:09:33 +02:00
4gray 1d340c08b8 feat: implement file title normalization and path handling in playlist upload
Entire-Checkpoint: c6e522b4276c
2026-04-20 00:24:59 +02:00
4gray 1870ce2aea feat: enhance EPG service with channel metadata fetching and update M3U module documentation
Entire-Checkpoint: c6e522b4276c
2026-04-20 00:24:25 +02:00
4gray e19257da22 feat: add export for epg-channel-metadata.model in index file
Entire-Checkpoint: c6e522b4276c
2026-04-20 00:23:52 +02:00
4gray c13dcc59dd feat: add channel metadata resolution and logo handling for enriched channel views
Entire-Checkpoint: c6e522b4276c
2026-04-20 00:23:32 +02:00
4gray ecb070d08e test: add unit tests for ContentHeroComponent and handle ResizeObserver unavailability
Entire-Checkpoint: c6e522b4276c
2026-04-19 23:39:16 +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 e0f6b34aa0 style: update form field styles and dialog components
- Set default appearance for mat-form-field to 'outline' and dynamic subscript sizing in app.config.ts.
- Adjust dialog dimensions in workspace-shell-actions.service.ts for better responsiveness.
- Refactor settings.component.scss to remove specific mat-form-field font size overrides.
- Enhance global styles in m3-theme.scss for outlined inputs, ensuring consistency across the application.
- Modify workspace-command-palette styles to improve visual integration with the overall theme.
- Revamp add-playlist-dialog component to utilize segmented controls for category selection, improving UX.
- Update file-upload component to provide better feedback on file selection and drag-and-drop interactions.
- Clean up text and URL upload components by removing unnecessary placeholders and improving layout.
- Refine stalker-portal-import component by removing placeholder text for clarity.

Entire-Checkpoint: c6e522b4276c
2026-04-17 23:20:17 +02:00
4gray b6c71258e4 fix(player): playback position persistence for vlc
Entire-Checkpoint: c6e522b4276c
2026-04-17 23:19:33 +02:00
4gray 8be51fc246 feat(content-hero): add expandable description with toggle functionality and overflow detection
Entire-Checkpoint: c6e522b4276c
2026-04-17 23:18:29 +02:00
4gray af8bb19d6c fix(epg): add retry functionality for failed EPG fetches and enhance UI for error handling
Entire-Checkpoint: c6e522b4276c
2026-04-17 21:30:50 +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 6e6bd04eca style(season-container): enhance empty state handling and add corresponding styles
Entire-Checkpoint: c6e522b4276c
2026-04-17 00:11:14 +02:00
4gray e35b96d55d Merge pull request #864 from sapireli/epg-hardening-invalid-rows
Harden EPG channel lookup and invalid rows
2026-04-16 23:42:52 +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 542334a9a9 style: improve layout and responsiveness of playlist switcher component
Entire-Checkpoint: c6e522b4276c
2026-04-16 21:57:34 +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
Eliran Sapir 3c73a4051b Harden EPG channel lookup and invalid rows 2026-04-15 17:08:24 -04:00
4gray b1c72a7782 style: enhance workspace sources with sorting functionality and UI improvements
Entire-Checkpoint: c6e522b4276c
2026-04-14 17:04:30 +02:00
4gray 1fca406486 style: enhance playlist switcher with search functionality and UI improvements
Entire-Checkpoint: 640047bcbeb2
2026-04-12 22:48:20 +02:00