Commit Graph

11 Commits

Author SHA1 Message Date
Ashik K ed91d39ad9 Implement dual provider architecture (Jellyfin + Xtream)
Add support for running both Jellyfin and Xtream providers simultaneously:
- User can have 1 active JF account + 1 active XC account at same time
- Tabs dynamically show/hide based on active providers
- Account switcher allows switching between multiple saved accounts

New Components:
- XtreamSession: Session management for Xtream providers
- SessionManager: Tracks both JF and XC sessions
- XtreamView/ViewModel: New Xtream tab with Live TV categories
- TabCoordinator: Dynamic tab building based on active providers

Modified Components:
- MainTabView: Injects SessionManager, rebuilds tabs on provider changes
- TabItem: Added Xtream tab definition
- MediaViewModel: Excludes Xtream channels (now in Xtream tab only)

Scripts:
- Added .claude/scripts/create-issue.sh for Gitea issue creation

Closes: jellyflood-2 (partial)
Related: jellyflood-1, jellyflood-5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 11:47:41 +02:00
Ashik K 9a78115a93 Add channel support and debug logging for Xtream content display
- Add .channel to BaseItemKind.supportedCases for proper filtering
- Implement channel API routing in ItemLibraryViewModel
- Add comprehensive debug logging to track API calls and filtering
- Support channels in MediaViewModel library views
- Fix channel items not appearing in media libraries

This enables Xtream plugin channels (VOD/Series) to display correctly
in jellypig tvOS. Channels now use proper /Channels API endpoints
instead of falling back to regular /Items API.

Related to ongoing fix for Xtream content media display.
2025-10-17 10:49:20 +02:00
Joe Kribs 0025422634
[iOS & tvOS] Upgrade SDK to 10.10 (#1463)
* Buildable!

* Update file names.

* Default sort to sort name NOT name.

* SessionInfoDto vs SessionInfo

* Targetting

* Fix many invalid `ItemSortBy` existing. Will need to revisit later to see which can still be used!

* ExtraTypes Patch.

* Move from Binding to OnChange. Tested and Working.

* Update README.md

Update README to use 10.10.6. Bumped up from 10.8.13

* Update to Main on https://github.com/jellyfin/jellyfin-sdk-swift.git

* Now using https://github.com/jellyfin/jellyfin-sdk-swift.git again!

* Paths.getUserViews() userId moved to parameters

* Fix ViewModels where -Dto suffixes were removed by https://github.com/jellyfin/Swiftfin/pull/1465 auto-merge.

* SupportedCaseIterable

* tvOS supportedCases fixes for build issue.

* cleanup

* update API to 0.5.1 and correct VideoRangeTypes.

* Remove deviceProfile.responseProfiles = videoPlayer.responseProfiles

* Second to last adjustment:
Resolved: // TODO: 10.10 - Filter to only valid SortBy's for each BaseItemKind.
Last outstanding item: // TODO: 10.10 - What should authenticationProviderID & passwordResetProviderID be?

* Trailers itemID must precede userID

* Force User Policy to exist.

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-06 23:42:47 -04:00
Ethan Pippin 4a63b52b17
Stateful - Set cleanup and `final` classes (#1465)
* cleanup

* Update Stateful.swift
2025-03-29 23:05:14 -06:00
Joe Kribs adec8de122
[Meta] 2025 Disclaimer (#1381) 2025-01-02 16:05:15 -07:00
Joe Kribs 23beb088da
[iOS] Admin Dashboard - User Profiles (#1328)
* Make user profile more generic. Still need to make it work for the reset image / other stuff like delete & username.

* Username Changing and PFP deletion.

* Functional, refreshing, and good to go!

* Clean up localizations

* Migrate [UserDto] -> IdentifiedArrayOf<UserDto>

* Solve "Username should probably be at the top of this section."

* allow notification filter

* WIP:

Created `UserProfileHeroImage` but I haven't used it anywhere.

* Centralize UserProfileHeroImages

* Rename UserProfileImages

* Fix Merge Issue?

* Move to UserProfileImage

* Merge with Main

* Fix Merge?

* Clear the cache on update.

* Delete duplicate `UserProfileImage`

* wip

* wip

* Update ImagePipeline.swift

* fix tvOS build issue and update comment to be more accurate

* clean up

* fix string

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-28 22:35:10 -07:00
Ethan Pippin e856303181
Move to `IdentifiedArray` in `PagingLibraryViewModel` (#1346)
* init

* update packages, cleanup
2024-12-08 10:44:52 -07:00
Julian Hays 4ac0547be8
Fixing Live TV since the refactor (#806) 2024-04-14 22:29:46 -06:00
Ethan Pippin fb100b8da1
iOS - Temporarily Disable LiveTV and Advanced Video Player Action (#1013) 2024-04-02 23:10:22 -06:00
Ethan Pippin fd1a87cb02
Item Views to `Stateful` (#997) 2024-04-01 00:48:41 -06:00
Ethan Pippin a9a6820982
Fix LiveTV Navigation, fix Media Views, remove CollectionView from iOS (#995) 2024-03-15 09:51:22 -06:00