From 45ec2505b30c3c64b4e2cfa209f15f4e15da25fa Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:26:07 -0500 Subject: [PATCH 1/6] Don't hide "Play next in queue" for premium users Merged changes from https://github.com/qnblackcat/uYouPlus/commit/c32054d116db451d1d3069924e83aeeba242c24a --- Sources/uYouPlus.xm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index e2ef7cf..4c67bd3 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -301,7 +301,7 @@ static __strong NSData *cellDividerData; - (BOOL)enableModularPlayerBarController { return NO; } // fixes some of the iSponorBlock problems - (BOOL)mainAppCoreClientEnableCairoSettings { return IS_ENABLED(@"newSettingsUI_enabled"); } // New grouped settings UI - (BOOL)enableIosFloatingMiniplayer { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer -- (BOOL)enableIosFloatingMiniplayerSwipeUpToExpand { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer +- (BOOL)enableIosFloatingMiniplayerSwipeUpToExpand { return IS_ENABLED(@"floatingMiniplayer_enabled"); } // Floating Miniplayer - Fix Swipe Up Animation - (BOOL)enableIosFloatingMiniplayerRepositioning { return IS_ENABLED(@"floatingMiniplayer2_enabled"); } // Floating Miniplayer (Repositioning Support, Removes Swiping Up Gesture) %end @@ -578,7 +578,7 @@ static __strong NSData *cellDividerData; } %end -// Classic Video Player (Restores the v16.xx.x Video Player Functionality) - @arichornlover +// Classic Video Player - 17.33.2+ (Restores the functionality from the YT v16.xx.x Video Player) - @arichornlover // To-do: disabling "Precise Video Scrubbing" https://9to5google.com/2022/06/29/youtube-precise-video-scrubbing/ %group gClassicVideoPlayer %hook YTColdConfig @@ -1533,7 +1533,7 @@ static BOOL findCell(ASNodeController *nodeController, NSArray *ide // Remove “Play next in queue” from the menu (@PoomSmart) - qnblackcat/uYouPlus#1138 %hook YTMenuItemVisibilityHandler - (BOOL)shouldShowServiceItemRenderer:(YTIMenuConditionalServiceItemRenderer *)renderer { - return IS_ENABLED(@"hidePlayNextInQueue_enabled") && renderer.icon.iconType == 251 ? NO : %orig; + return IS_ENABLED(@"hidePlayNextInQueue_enabled") && renderer.icon.iconType == 251 && renderer.secondaryIcon.iconType == 741 ? NO : %orig; } %end From 754e3e9c98083ec17861ff001bea7679f6f10aff Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:47:53 -0500 Subject: [PATCH 2/6] =?UTF-8?q?Fix=20=E2=80=9CYTShareRequestViewController?= =?UTF-8?q?=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/uYouPlusPatches.xm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Sources/uYouPlusPatches.xm b/Sources/uYouPlusPatches.xm index d68616a..2f078c5 100644 --- a/Sources/uYouPlusPatches.xm +++ b/Sources/uYouPlusPatches.xm @@ -151,8 +151,12 @@ static BOOL showNativeShareSheet(NSString *serializedShareEntity) { /* %hook YTShareRequestViewController - (id)initWithService:(id)_service parentResponder:(id)_parentResponder { - // disable the default share sheet behavior and force the app to call [YTAccountScopedCommandRouter handleCommand] - return NULL; + id result = %orig; + // disable the default share sheet behavior and force the app to call [YTAccountScopedCommandRouter handleCommand] if available + if ([_parentResponder respondsToSelector:@selector(handleCommand:entry:fromView:sender:completionBlock:)]) { + [_parentResponder handleCommand:nil entry:nil fromView:nil sender:nil completionBlock:nil]; + } + return result; } %end */ From ef338016e897b5f6e1d2fc0dfba92710f99ccabe Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 4 Jul 2024 05:39:37 -0500 Subject: [PATCH 3/6] Added Legacy uYouEnhanced AltSource Repo - supports iOS 14 For Reddit post: https://www.reddit.com/r/sideloaded/s/oYCQnRpONG and mainly for Trollstore members! --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ad339e7..2823f9e 100644 --- a/README.md +++ b/README.md @@ -287,7 +287,9 @@ - **Compatibility:** Requires iOS/iPadOS 15.0 or later. - For AltStore user: - - My official AltStore repo: https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornlover/arichornlover.github.io/main/apps.json + - My official AltStore repo (uYouEnhanced - iOS 15+): https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornloverALT/arichornloverALT.github.io/main/apps.json + + - My alternative AltStore repo (uYouEnhanced - iOS 14+ - mainly for Trollstore users): https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornloverALT/arichornloverALT.github.io/main/apps-legacy.json - not sure if i can update this ipa. this IPA will be locked in YouTube Version **19.20.2** - [Open in AltStore (v19.21.2-3.0.4)](https://tinyurl.com/2wea84xd) - It will take a while to install because AltStore needs to download the IPA first. From 661b7ddc5225071da34cce5e1bb9c30c164f92e6 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 4 Jul 2024 05:50:00 -0500 Subject: [PATCH 4/6] Update uYouPlusPatches.xm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also let me remind y’all that uYouEnhanced isn’t discontinued. Saying this as of July 4th 2024. --- Sources/uYouPlusPatches.xm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/Sources/uYouPlusPatches.xm b/Sources/uYouPlusPatches.xm index 2f078c5..7430664 100644 --- a/Sources/uYouPlusPatches.xm +++ b/Sources/uYouPlusPatches.xm @@ -12,16 +12,6 @@ } %end -// Workaround for MiRO92/uYou-for-YouTube#12, qnblackcat/uYouPlus#263 -%hook YTDataUtils -+ (NSMutableDictionary *)spamSignalsDictionary { - return nil; -} -+ (NSMutableDictionary *)spamSignalsDictionaryWithoutIDFA { - return nil; -} -%end - %hook YTHotConfig - (BOOL)disableAfmaIdfaCollection { return NO; } %end @@ -175,7 +165,6 @@ static BOOL showNativeShareSheet(NSString *serializedShareEntity) { } %end - /* ------------------- iPhone Layout ------------------- */ %hook ELMPBShowActionSheetCommand @@ -351,4 +340,7 @@ static void refreshUYouAppearance() { // Disable uYou's playback speed controls (prevent crash on video playback https://github.com/therealFoxster/uYouPlus/issues/2#issuecomment-1894912963) // [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"showPlaybackRate"]; + + // Disable uYou's adblock + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"removeYouTubeAds"]; } From 7f5a231f462340dd6846e58459f22a449ad10739 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 4 Jul 2024 06:13:56 -0500 Subject: [PATCH 5/6] Updated `Disable Modern Flags` Option (19.23.3+) Support has been added for newer YouTube versions so it will remove App Modernization better. --- Sources/uYouPlus.xm | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 4c67bd3..91a3465 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -664,15 +664,31 @@ static int contrastMode() { - (BOOL)cxClientEnableModernizedActionSheet { return NO; } - (BOOL)enableClientShortsSheetsModernization { return NO; } - (BOOL)enableTimestampModernizationForNative { return NO; } -- (BOOL)modernizeElementsTextColor { return NO; } -- (BOOL)modernizeElementsBgColor { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaFeedStretchBottom { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaFrostedBottomBar { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaFrostedPivotBar { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaFrostedPivotBarUpdatedBackdrop { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaFrostedTopBar { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaOpacityPivotBar { return NO; } +- (BOOL)mainAppCoreClientEnableModernIaTopAndBottomBarIconRefresh { return NO; } +- (BOOL)mainAppCoreClientEnableModernizedBedtimeReminderU18DefaultSettings { return NO; } +- (BOOL)modernizeCameoNavbar { return NO; } - (BOOL)modernizeCollectionLockups { return NO; } +- (BOOL)modernizeCollectionLockupsShowVideoCount { return NO; } +- (BOOL)modernizeElementsBgColor { return NO; } +- (BOOL)modernizeElementsTextColor { return NO; } +- (BOOL)postsCreatorClientEnableModernButtonsUi { return NO; } +- (BOOL)pullToFullModernEdu { return NO; } +- (BOOL)showModernMiniplayerRedesign { return NO; } - (BOOL)uiSystemsClientGlobalConfigEnableModernButtonsForNative { return NO; } - (BOOL)uiSystemsClientGlobalConfigIosEnableModernTabsForNative { return NO; } -- (BOOL)uiSystemsClientGlobalConfigIosEnableEpUxUpdates { return NO; } -- (BOOL)uiSystemsClientGlobalConfigIosEnableSheetsUxUpdates { return NO; } +- (BOOL)uiSystemsClientGlobalConfigIosEnableEpUxUpdates { return NO; } // Deprecated +- (BOOL)uiSystemsClientGlobalConfigIosEnableSheetsUxUpdates { return NO; } // Deprecated - (BOOL)uiSystemsClientGlobalConfigIosEnableSnackbarModernization { return NO; } +- (BOOL)uiSystemsClientGlobalConfigModernizeNativeBgColor { return NO; } +- (BOOL)uiSystemsClientGlobalConfigModernizeNativeTextColor { return NO; } // Disable Rounded Content +- (BOOL)enableIosFloatingMiniplayerRoundedCornerRadius { return YES; } - (BOOL)iosDownloadsPageRoundedThumbs { return NO; } - (BOOL)iosRoundedSearchBarSuggestZeroPadding { return NO; } - (BOOL)uiSystemsClientGlobalConfigEnableRoundedDialogForNative { return NO; } From 39781009723bbbb1c87d2863455fe146ff57d61f Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 4 Jul 2024 06:42:42 -0500 Subject: [PATCH 6/6] Updated `Hide Fullscreen Button` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a replacement since the previous implementation breaks PoomSmart’s 1.2.0+ YouQuality tweak. --- Sources/uYouPlus.xm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 91a3465..6ccf1dc 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -682,8 +682,6 @@ static int contrastMode() { - (BOOL)showModernMiniplayerRedesign { return NO; } - (BOOL)uiSystemsClientGlobalConfigEnableModernButtonsForNative { return NO; } - (BOOL)uiSystemsClientGlobalConfigIosEnableModernTabsForNative { return NO; } -- (BOOL)uiSystemsClientGlobalConfigIosEnableEpUxUpdates { return NO; } // Deprecated -- (BOOL)uiSystemsClientGlobalConfigIosEnableSheetsUxUpdates { return NO; } // Deprecated - (BOOL)uiSystemsClientGlobalConfigIosEnableSnackbarModernization { return NO; } - (BOOL)uiSystemsClientGlobalConfigModernizeNativeBgColor { return NO; } - (BOOL)uiSystemsClientGlobalConfigModernizeNativeTextColor { return NO; } @@ -1041,8 +1039,9 @@ static int contrastMode() { } %end +/* // LEGACY VERSION ⚠️ -// Hide Fullscreen Button - @arichornlover - PoomSmart's Newer Version of the *YouQuality* tweak breaks when enabling this +// Hide Fullscreen Button - @arichornlover - PoomSmart's 1.2.0+ Versions of the *YouQuality* tweak makes the button invisible when enabling this %hook YTInlinePlayerBarContainerView - (void)layoutSubviews { %orig; @@ -1059,15 +1058,18 @@ static int contrastMode() { } } %end +*/ // NEW VERSION -// Hide Fullscreen Button - @arichornlover - UNTESTED! -// %hook YTInlinePlayerBarContainerView -// - (BOOL)fullscreenButtonDisabled { return YES; } -// - (BOOL)canShowFullscreenButton { return NO; } -// - (BOOL)canShowFullscreenButtonExperimental { return NO; } -// - (void)setFullscreenButtonDisabled:(BOOL) // this line should remain disabled for now. -// %end +// Hide Fullscreen Button - @arichornlover +%group gHideFullscreenButton +%hook YTInlinePlayerBarContainerView +- (BOOL)fullscreenButtonDisabled { return YES; } +- (BOOL)canShowFullscreenButton { return NO; } +- (BOOL)canShowFullscreenButtonExperimental { return NO; } +// - (void)setFullscreenButtonDisabled:(BOOL) // Uncomment and might implement this if needed - @arichornlover +%end +%end // Hide HUD Messages %hook YTHUDMessageView @@ -1674,6 +1676,9 @@ static BOOL findCell(ASNodeController *nodeController, NSArray *ide if (IS_ENABLED(@"portraitFullscreen_enabled")) { %init(gPortraitFullscreen); } + if (IS_ENABLED(@"disableFullscreenButton_enabled")) { + %init(gHideFullscreenButton); + } if (IS_ENABLED(@"hideFullscreenActions_enabled")) { %init(hideFullscreenActions); }