Bump Transmission from 2.4.5 to 2.8.2 & Workaround for Player Rotation#1957
Bump Transmission from 2.4.5 to 2.8.2 & Workaround for Player Rotation#1957JPKribs wants to merge 4 commits intojellyfin:mainfrom
Conversation
…RootCoordinator found. A View.environmentObject(_:) for RootCoordinator may be missing as an ancestor of this view.`
|
ugh okay. So, tvOS cannot use Transmission because there is a UIKit call that works for iOS and not for tvOS:
The full context of this: import UIKit
@available(iOS 14.0, *)
open class DropShadowView: UIView {
public override init(frame: CGRect = .zero) {
super.init(frame: frame)
isUserInteractionEnabled = false
ShadowOptions.feather.apply(to: self)
}
public required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
open override func layoutSubviews() {
super.layoutSubviews()
layer.shadowPath = CGPath(rect: bounds, transform: nil)
}
}For this PR, I've removed Transmission for tvOS since we are not using it for tvOS. Instead, I manually package Engine in for the For shared usages, I am now using: #if os(iOS)
import Transmission
#endifThis is getting a lot messier than I had hoped but this all works as expected in testing... |
|
When there are issues with new Xcode versions, the solution for some time is to just not use/deploy with that version of Xcode until possible fixes. A lot of development doesn't use the latest Xcode version due to reasons like this. In fact, I'll be holding out on Sequoia for as long as I can as 26.3 is just fine. While changing to a slide transition works around #1898, the fix for determining orientation when foregrounding is done in #1959.
This seems to an issue as I'm going to close this as we can update Transmission when the rotation issue is fixed there. |
My primary reason for this move was that 26.4 is specifically patched for 2.8.2. The assumption is that regardless, we would need this for 26.4+ but your reasoning makes sense. |
I've made an issue for this item here: nathantannar4/Transmission#118 |
Summary
Workaround for: #1709
Xcode 26.4 breaks our current version of Transmission. I've updated Transmission to 2.8.2 which has a fix for Xcode 26.4 but that now breaks our Video Player when rotating. Doing some troubleshooting and I found removing the
.zoomtransition from ourFullScreenpresentation resolves this.This animation is worse but this resolves the rotation issue in 2.6.X Transmission. I've commented out the code so we can go back to it. I've opened an issue here to hopefully resolve this: nathantannar4/Transmission#117
Lastly, on 2.8.2, I would get the following crash on transitions:
Thread 1: Fatal error: No ObservableObject of type RootCoordinator found. A View.environmentObject(_:) for RootCoordinator may be missing as an ancestor of this view.So to resolve that I added
.environmentObject(rootCoordinator)to the navigation stacks to ensure that was there. Please let me know if that was not the correct way to do this.Breaking Issue Before
Issue.mov
Solution/Video After
Screen.Recording.2026-03-30.at.15.34.56.mov
Fix for #1709
Leaving the player you can re-enter now and it can still rotate which resolves #1709.
Simulator.Screen.Recording.-.iPhone.-.2026-03-30.at.15.37.16.mov
New Full Screen Transiion
Boo.
Simulator.Screen.Recording.-.iPhone.-.2026-03-30.at.15.35.29.mov