Commit Graph

75 Commits

Author SHA1 Message Date
Sam d9227deafe Fetch correct server when updating info (#1623) 2025-07-06 20:11:20 -06: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 0845545417
Clean Up `SelectUserView` (#1482)
* cleanup

* fix adaptive layout
2025-04-06 21:58:47 -04:00
Joe Kribs 216375905c
[iOS & tvOS] Trailers (#1456)
* ItemViewModel Trailers

* iOS done.

* Sections >>> Divider

* tvOS kind of.

* Button/Menu cleanup

* Huge ActionButton overhaul

* Error Handling, ActionButton/Menu standardization, and ActionButtonLayout cleanup part 1.

* cleanup

* cleanup

* Combine ActionButton logic. Complete ActionButton rework and animation/style rework. Should this be 3 files??

* Dumb sizing error. Get size from WIDTH not HEIGHT! Height is always 100 and Width is larger.

* Pressed buttons are but focused buttons but slight less. Pressed buttons are still bigger than default, unfocused buttons. TIL.

* Cleanup / Structure

* Remove Test.

* New Setting. Version on PlayButton Row. Complete TrailerMenu revamp. Make ActionButtonLayout a single row.

* Spacing & remove test logic

* VERY WIP

* Fix the compact-ness

* Linting.

* Remove Testing logic.

* Pre-Cleanup - WIP

* Finalized. Moved ScrollingText to tvOS Only.

* MediaURL? = nil but it's already nil by default.

* Error on the View not the button. This was NOT showing for the button since it lived on the Menu. This resolves this.

* wip

* Update VersionMenu.swift

* Remove scrollingText from this PR.

* Remove labels & iOS Action Button cleanup / no foregroundStyle on de-selected.

* ActionButtonScaling

* .card all buttons in ActionButton

* Slow and less bounce-i-fy the menu animations. Also, slight padding

* Wait, don't add this padding this isn't needed.

* localize

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-05 01:13:20 -04:00
Joe Kribs c113c341bf
[tvOS] Mirror iOS Ratings + Attribute Settings (#1422)
* Copy + Paste + Settings

* Much bigger changes to allow attribute customization.

* wip

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-02-15 15:27:34 -07:00
Daniel Chick b4c07bddfa
Refresh Server Info (#1402)
* Add function to update basic server info

* Add server info update in server check view model

* Update ServerCheckViewModel.swift

---------

Co-authored-by: chickdan <=>
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-01-22 19:07:00 -05: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
Joe Kribs a3d84a958f
[iOS] Media Item Menu - Edit Arrays (People, Genres, Studios, & Tags) (#1336)
* Cleanup / Genre & Tag Management

* Move searching to a backgroundState. Fix the font Color when bulk editing tags / genres should be secondary when editing & not selected

* Cleanup

* Now that cancelling is handled better this should prevent the issue where the suggestions fails to update on a letter entry

* Change from using an event for searchResults to using a published searchResults var

* Moved all logic to a local list where all genres/tags are populated on refresh then filterd locally instead of calling the server for changes.

* Inheritance

* Split metadata from components then alphabetize. Also, fix but where you can't add a people

* People & Permissions

* Functional but dirty. TODO: Cleanup + Trie? Trei?

* nil coalescing operator is only evaluated if the lhs is nil, coalescing operator with nil as rhs is redundant

* TODO: Search improvements & Delay search on name change

* Cleanup & reordering

* Debouncing

* Trie implementation

* Permissions Cleanup Squeezing in: https://github.com/jellyfin/jellyfin-web/issues/6361

* enhance Trie

* cleanup

* cleanup

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-06 15:22:11 -07:00
Daniel Chick 95c4395c11
Resolve Prolonged Type Checking (#1338)
Co-authored-by: chickdan <=>
2024-12-05 12:39:03 -07:00
Joe Kribs 687cfa6b5f
[iOS] Media Item Menu | Refresh Metadata & Delete Item (#1310)
* [iOS] Creation of the enableItemEditor & enableItemDeletion settings. Creation of the ItemEditorView. Creation of Refresh/Deletion Logic and Buttons. Wrap buttons in permissions.

* You can make delete permissions without edit (admin) permissions. So, flip this so you can get to the edit page but editing is disabled if you're not an admin. The Delete option requires that the delete toggle is enabled and the user has permissions.

* Move deletion from the editView to the ItemView

* Delete from PagingLibraryView on Deletion

* Only enable delete if the user can delete something. Check deletion permission on Item level. Only allow editing for admins.

* Review Changes: ec33a6b63c

* wip

* Update RefreshMetadataButton.swift

* Update Shared/ViewModels/ItemEditorViewModel/RefreshMetadataViewModel.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Update Shared/Coordinators/ItemEditorCoordinator.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Reviews minus a learn more button

* LearnMoreAttempt v1

* Learn more v2 - Much better

* Learn More v3

* Learn More comments cleanup

* Learn More: https://github.com/jellyfin/Swiftfin/pull/1310#discussion_r1843149572

* clean up

* Remove Replace since it's already covered. Localize.

* clean up

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-16 23:59:41 -07:00
Joe bc9eacab57
[iOS] Admin Dashboard (#1230) 2024-10-04 21:15:12 -06:00
Joe f5bd1b8fcd
Customizable Device Profiles (#1169)
* Rename ExperimentalSettingsView.swift to PlaybackQualitySettingsView.swift

Fix Merge

* Rename MaximumBitrateSettingsView.swift to PlaybackQualitySettingsView.swift

fix merge

* Re-implement on Main. Should now have all the Main changed. Added a new change to use the Device Profile as a Transcoding Profile.

* Part 1 -> Making VideoPlayerType into a struct (I Hope) correctly

* Part 1.1 -> Making VideoPlayerType into a struct (I Hope) correctly

* Remove unneeded Files

* Missing file + CustomDeviceProfileSelection -> CustomDeviceProfileAction Rename

* Change + to Appending

* Attempt to add StorageValues+User. Not sure if this is correct?

* Move the Array unwrapping to funcitons. Not required but this should help prevent accidently doing this wrong. Add subtitles back into the custom profiles since that somehow got dropped. Added a PlaybackCompatibility enum. This might need to work for more than just video

* Complete rewrite to allow multiple profiles, compatibility mode, and directplay.

* Hardward -> Hardware

* Update CustomDeviceProfileSettingsView.swift

Double Licensing

* It was actually really easy to implement iOS... Trash cans still look weird and small.

* Swipe to Delete instead of the edit button

* wip

* wip

* Linting

* tvOS Implementation

* wip

* wip

* cleanup

* Create Package.resolved

---------

Co-authored-by: Joseph Kribs <joseph@kribs.net>
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-09-02 15:33:02 -06:00
Daniel Chick 29b917ead0
Migrate to the latest version of Factory (#1097) 2024-07-01 19:58:59 -06:00
Daniel Chick 645eb6c516
Refactor sign in policy (#1085) 2024-06-08 21:22:18 -06:00
Ethan Pippin b2a31dbc3a
User Profile Image Selection (#1061) 2024-05-22 13:45:48 +09:00
Ethan Pippin 8d6167c00b
Some More Cleanup, Reset User Settings (#1060) 2024-05-17 13:10:40 +09:00
Ethan Pippin 74b8b286c7
User/Server Sign In Redesign (#1045) 2024-05-14 23:42:41 -06:00
Ethan Pippin a08a92e98a
New Year, New Video Player + Other Goodies (#593) 2023-04-20 09:33:51 -06:00
Sulabh Bista 06044e8fb5
Adds "use fmp4" experimental option (#623) 2022-11-03 13:17:47 -06:00
Ethan Pippin 93c19dbe54
wip (#585) 2022-09-14 19:50:38 -06:00
Ethan Pippin 859a47803f
tvOS - Revamp Connect Flow (#563) 2022-09-07 23:52:19 -06:00
Ethan Pippin ace339bd1a
implement (#561) 2022-09-05 06:45:22 -06:00
Ethan Pippin ce38efb3ec
Proper Library Handling (#543) 2022-08-29 20:29:24 -06:00
Ethan Pippin 3b755adf87
iOS/iPadOS - Library List View (#542) 2022-08-29 08:58:38 -06:00
Ethan Pippin 98a5507b52
Refactor Search and implement in tvOS (#539) 2022-08-27 21:30:17 -06:00
Ethan Pippin 5d0f933a2c
iOS/iPadOS - Transition library views to Collection Views (#536) 2022-08-26 18:23:36 -06:00
Ethan Pippin 8181db13de
iOS/iPadOS - Landscape/Thumb Posters (#526) 2022-08-18 11:00:33 -06:00
Ethan Pippin a9f09edd81
Navigation and Item Overhaul (#492) 2022-08-05 10:54:40 -06:00
Kwangmin Bae 48a03d8462
Support select subtitle font (#498) 2022-07-29 12:47:27 -06:00
Ethan Pippin cfb3aa1faa
No Tab Characters and Before First for Argument and Parameter Wrapping (#482) 2022-07-16 07:46:25 -06:00
PangMo5 f1bf247f5a Add shouldShowChaptersInfoInBottomOverlay to Settings.Overlay 2022-07-14 00:07:27 +09:00
PangMo5 7a26e69685 Add seek slide gesture 2022-05-04 02:37:50 +09:00
PangMo5 9da29ee708 Merge branch 'PangMo5/main' into PangMo5/more-gestures
# Conflicts:
#	Translations/en.lproj/Localizable.strings
2022-05-01 07:35:25 +09:00
PangMo5 0f92343970 VideoPlayer's Double tap related UX improvement
Change VideoPlayer's overlay show implementation
Add player gestures lock gesture settings
2022-05-01 06:16:41 +09:00
Ethan Pippin cf812fd9dd redo logging 2022-04-28 14:51:22 -06:00
jhays 4bea0ddf43 tv settings, channel item improvements 2022-03-26 00:22:26 -05:00
PangMo5 682f79631c add system control gestures (brightness, volume) 2022-02-05 18:14:23 +09:00
Min-Yih Hsu e760a586d7 Add an option to switch between flatten/grouped library view
By default, a library shows its items in a flatten view. This patch
further adds an option that allows users to show items grouped in their
own folders as well.
2022-01-28 11:04:37 +08:00
Ethan Pippin 961f87d3c7 add back experimental native player 2022-01-19 16:11:06 -07:00
Ethan Pippin 13f457f52a allow force direct play as a temporary measure 2022-01-15 13:01:42 -07:00
Ethan Pippin 6771d3d2c9 initial iOS missing items 2022-01-11 16:33:37 -07:00
Ethan Pippin f02c52f20a lint 2022-01-10 15:51:24 -07:00
Ethan Pippin 057beca0ff localize 2022-01-10 15:48:29 -07:00
Ethan Pippin e12da2cf07 format merge 2022-01-10 13:34:03 -07:00
Ethan Pippin 071d07d5ff Merge branch 'main' into swiftformat-third-times-the-charm 2022-01-10 13:31:04 -07:00
Ethan Pippin 4298062ca3 swiftformat 2022-01-10 12:28:03 -07:00
koen 438ce63c5c Provides subtitle size options 2022-01-09 13:13:21 +01:00
Ethan Pippin 6c2d153df4 more cinematic views 2022-01-06 10:59:15 -07:00
Ethan Pippin 6a7c4c0a5b resume offset and live tv moved to experimental 2022-01-05 13:38:15 -07:00