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

[tvOS] (master) Settings -> Customize -> Days in Next Up button weird #1476

Open
sjorge opened this issue Apr 6, 2025 · 12 comments
Open

[tvOS] (master) Settings -> Customize -> Days in Next Up button weird #1476

sjorge opened this issue Apr 6, 2025 · 12 comments
Labels
bug Something isn't working external Problem or feature is dependent on an external implementation.

Comments

@sjorge
Copy link

sjorge commented Apr 6, 2025

Describe the bug

I noticed the button label is a bit weird in the Days in Next Up dialog on tvOS, was running in simulator as I wanted to check out some of the new work since 1.0.1 and I did have XCode installed for something else so I gave it a build.

Not sure how to properly explain it so here is a video

https://imgur.com/tX7s0lR

Edit: attempt 2 at attaching the video
Edit2: overall more usable than the currently release but lots of small things, I'll hold of on filing issues for that.

Application version

master

Where did you install the app from?

None

Device information

tvOS Simulator

OS version

18.2

Jellyfin server version

10.10.7

@sjorge sjorge added the bug Something isn't working label Apr 6, 2025
@JPKribs JPKribs added the external Problem or feature is dependent on an external implementation. label Apr 6, 2025
@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

We are aware of this issue and I believe it only impacts the simulator.

https://developer.apple.com/forums/thread/739545

I will need to confirm if that exists on real hardware though.

The alternative is to develop a custom view for this. I did that once in the PR below, but, as a smaller volunteer team, using Apple's native components is important to minimizing our maintenance. If the issue persists, I still have that work but the goal is to lean on Apple's Alert component to work appropriately again.

#1360

@sjorge
Copy link
Author

sjorge commented Apr 6, 2025

Interesting, we can close this as I have no way of testing this on hw as I don't have a spare apple tv I can put in developer mode.

This was the only real issue that I noticed that seemed like an actual bug, others are all just minor layout things which most are covered by existing PR's already so I didn't bother with those.

@sjorge sjorge closed this as completed Apr 6, 2025
@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

Sorry about that! Reopening, this does appear to impact real devices as well:

image

@JPKribs JPKribs reopened this Apr 6, 2025
@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

As a note, you don't need to put your device into developer mode to build it. All you need to do is change the signing from org.jellyfin.swiftfin in the project configuration. Any other signing should work. Also, change the development team from none to an Apple developer account. It is free to build under device and test. You do not need to pay the $100.

Then, follow these steps below:

  1. Make sure your Apple TV is updated to the latest tvOS version
  2. Ensure your Mac and Apple TV are connected to the same Wi-Fi network
  3. On your Apple TV, go to Settings > Remotes and Devices > Remote App and Devices
  4. On your Mac, open Xcode and go to Window > Devices and Simulators
  5. Your Apple TV should appear in the "Discovered" list on the left side
  6. Click on the Apple TV icon in the Devices panel
  7. When prompted, enter the pairing code that appears on your Apple TV

Once paired, your Apple TV should appear as a device you can build to in Xcode's run scheme pull-down menu. Simply select your Apple TV from the device dropdown (where you would normally select a simulator), and then click the Run button to build and install directly to your physical Apple TV.

Note that unlike iOS devices, Apple TV devices connect to Xcode wirelessly over Wi-Fi rather than through a USB cable.

@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

I literally only found out about this this weekend. I was on the same page as you. Where, I thought I basically needed to take the device off-line to do anything like this, but it's actually pretty unintrusive.

@sjorge
Copy link
Author

sjorge commented Apr 6, 2025

@JPKribs ooh that sort of seems to have worked! Might be worth adding this to the wiki.
I do however seem to hit an ACCESS error when doing so after logging in to my server.

Image

I don't have this on the emulator, so not sure how to get past this.

@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

@JPKribs ooh that sort of seems to have worked! Might be worth adding this to the wiki.
I do however seem to hit an ACCESS error when doing so after logging in to my server.

Image

I don't have this on the emulator, so not sure how to get past this.

Close and reopen the app. I've seen that crash before on first login. You can also rebuild to that target. So long as you're logged it should work. Not saying that's ideal but for a non-official build I'm not worried about that issue just yet haha

@sjorge
Copy link
Author

sjorge commented Apr 6, 2025

@JPKribs ooh that sort of seems to have worked! Might be worth adding this to the wiki.
I do however seem to hit an ACCESS error when doing so after logging in to my server.
Image
I don't have this on the emulator, so not sure how to get past this.

Close and reopen the app. I've seen that crash before on first login. You can also rebuild to that target. So long as you're logged it should work. Not saying that's ideal but for a non-official build I'm not worried about that issue just yet haha

Ah nice, that does indeed work. Seems the app also stays on the Apple TV. I'll mess around with it some this week on my TV. I'll do a reply with issues I've found not yet listed in the discussion, we can figure out if we need seperate issues for tracking after or not I guess.

@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

Seems the app also stays on the Apple TV

I believe 30 days?

But that would be very helpful! I already adding Scrolling Performance to the todo. Hoping that's just because I have an older Apple TV though...

I can update the discussion as new items arise.

@sjorge
Copy link
Author

sjorge commented Apr 6, 2025

Scrolling Performance

Where it stops for a second and jumps back up a few rows... I'm also having that on a Apple TV 4k I got last year why updating my older 4k one after it kept crashing. Or is it something else ?

@JPKribs
Copy link
Member

JPKribs commented Apr 6, 2025

Where it stops for a second and jumps back up a few rows

That's the library focus issue. When new items are added to the CollectionVGrid, the focus kicks out of the grid. When it refocuses, it moves the cursor to the top OR to the top item that isn't inside the grid.

The scrolling performance issue is just the general sluggishness. I don't know if you feel that as well but everything feels very slow to move around. I believe this is related to the .focused elements. So, potentially giving up things like the cinematic backgrounds for performance.

I literally only started learning Swift because I wanted to contribute to Swiftfin. So, I don't have a ton of background in UIKit. That means, I don't really have the skillset to dive into CollectionVGrid. I've found using SwiftUI's LazyVGrid I can get some performance improvements on tvOS and eliminate the focus bug. However, I'm not sure nuking out a widely used package is the solution. If there is a way to update CollectionVGrid to handle some of the focus quirks from tvOS performantly that would be ideal. But that's basically asking LePips to do a ton of extra work on CollectionVGrid while also doing everything else they already do for Swiftfin plus real life responsibilities.

Hopefully some new blood can assist in some of this as well! Anything you find I'll compile into that tvOS discussion. That should centralize things better for new folks looking to assist. If you make an issue for anything I can tag and add it.

Really appreciate the second set of eyes @sjorge!

@sjorge
Copy link
Author

sjorge commented Apr 6, 2025

That's the library focus issue. When new items are added to the CollectionVGrid, the focus kicks out of the grid. When it refocuses, it moves the cursor to the top OR to the top item that isn't inside the grid.

I'm diffinately seeing this, it also messed with horizontal scroll as once the focus shifts you're stuck in the menu/tab bar.

The scrolling performance issue is just the general sluggishness. I don't know if you feel that as well but everything feels very slow to move around. I believe this is related to the .focused elements. So, potentially giving up things like the cinematic backgrounds for performance.

I have not found it sluggish, but I do have cinematic background disabled (wasn't sure what it does, but I only have posters for 90% of my shows and no backdrops so I just turned it off in case it had something to do with backdrops)

I already posted over in the discussion, I ended up messing around a bit more instead of making dinner xD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working external Problem or feature is dependent on an external implementation.
Projects
None yet
Development

No branches or pull requests

2 participants