Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native multi-user support on tvOS 16 #661

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

awein
Copy link

@awein awein commented Jan 1, 2023

The new entitlement introduced with iOS 16 allows full multi-user support: runs-as-current-user-with-user-independent-keychain

@LePips
Copy link
Member

LePips commented Jan 2, 2023

I will play around with this for a while and see if this is the way that we should just finally handle it, see #258.

@LePips LePips added the enhancement New feature or request label Jan 2, 2023
@holow29
Copy link
Contributor

holow29 commented Jan 25, 2023

I said it in the linked issue, but I think we don't want the user-independent-keychain because that means that the set of Jellyfin users is shared between all Apple TV users. Since each Jellyfin user has a unique login (unlike most streaming services), we probably don't want the keychain (and therefore logins) shared. I believe the proper entitlement to use is runs-as-current-user such that each Apple TV user has a unique keychain and needs to login individually to Jellyfin with their individual Jellyfin login.

@awein
Copy link
Author

awein commented Jan 25, 2023

Valid point and I tend to agree that runs-as-current-user is enough and will allow support for this to be available on tvOS 14 and above (in contrast to tvOS 16 and above with the suggested change).
That being said: Both variants will behave the same on tvOS 16 given the user specific keychain is used by default. The shared user-independent keychain is only used when specifically specified. E.g. it could be used to store the server URL to streamline the login flow for additional users but wouldn't be used to store the actual user credentials of course.

@holow29
Copy link
Contributor

holow29 commented Jan 25, 2023

Great points! I was forgetting that each item that used the shared keychain needed to have a declaration as such. However, currently Swiftfin supports tvOS 15. The tradeoff seems to be: do we care about support for this specific feature in tvOS 15 (given all users can update to tvOS 16) or is it fine to keep in tvOS 16+ exclusive which would have the advantage of perhaps being the more supported way of doing it now? (It makes me think runs-as-current-user will be deprecated first.) I'd lean towards using runs-as-current-user-with-user-independent-keychain since it is basically a superset of the funcionality.

@ShadowJonathan
Copy link

Maybe runs-as-current-user for now, and runs-as-current-user-with-user-independent-keychain when there's the slightest hint that the former will be deprecated (and minimal support has shifted up to tvOS 16)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants