diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index ff5efa8..5c76481 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -8,7 +8,7 @@ on: inputs: sdk_version: description: "iOS SDK Version" - default: "17.5" + default: "18.6" required: true type: string decrypted_youtube_url: @@ -59,27 +59,26 @@ jobs: contents: write steps: - - name: Checkout Main - uses: actions/checkout@v4.2.2 + - name: Checkout + uses: actions/checkout@v6.0.1 with: - path: main ref: ${{ github.event.inputs.commit_id || github.ref }} submodules: recursive - name: Install Dependencies - run: brew install ldid dpkg make + run: brew install ldid dpkg make jq - name: Download Theos - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v6.0.1 with: repository: theos/theos - ref: master + ref: 13c22376b5d83ff759c1993de0a861e673aa522b path: theos submodules: recursive - name: iOS SDK Caching id: SDK - uses: actions/cache@v4.2.0 + uses: actions/cache@v5.0.2 env: cache-name: iOS-${{ inputs.sdk_version }}-SDK with: @@ -91,16 +90,16 @@ jobs: if: steps.SDK.outputs.cache-hit != 'true' run: | # Only download the specific SDK version - git clone -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/ + git clone -n --depth=1 --filter=tree:0 https://github.com/aricloverEXTRA/sdks/ cd sdks git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk git checkout mv *.sdk $THEOS/sdks env: - THEOS: ${{ github.workspace }}/theos + THEOS: theos - name: Download Theos Jailed - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v6.0.1 with: repository: qnblackcat/theos-jailed ref: master @@ -111,7 +110,7 @@ jobs: run: | ./theos-jailed/install env: - THEOS: ${{ github.workspace }}/theos + THEOS: theos - name: Fix Compiling run: | @@ -119,6 +118,8 @@ jobs: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH (echo export PATH="/usr/local/opt/make/libexec/gnubin:$PATH" >> ~/.bash_profile) source ~/.bash_profile + env: + THEOS: theos - name: Hash YT ipa url run: | @@ -129,18 +130,21 @@ jobs: - name: Prepare YouTube iPA run: | # Download and unzip iPA - wget "$YOUTUBE_URL" --quiet --no-verbose -O main/YouTube.ipa - unzip -q main/YouTube.ipa -d main/tmp + wget "$YOUTUBE_URL" --quiet --no-verbose -O YouTube.ipa + unzip -q YouTube.ipa -d tmp # Get the version number of the YouTube app and store it - echo "YT_VERSION=$(grep -A 1 'CFBundleVersion' main/tmp/Payload/YouTube.app/Info.plist | grep '' | awk -F'[><]' '{print $3}')" >> $GITHUB_ENV - # Get the version number of the latest release - wget -qO- https://github.com/dayanch96/YTLite/releases/latest > main/tmp/release_page.html - YTLITE_VERSION=$(grep -o -E '/tag/v[^"]+' main/tmp/release_page.html | head -n 1 | sed 's/\/tag\/v//') - echo "YTLITE_VERSION=5.0.1" >> $GITHUB_ENV - echo $YTLITE_VERSION + echo "YT_VERSION=$(grep -A 1 'CFBundleVersion' tmp/Payload/YouTube.app/Info.plist | grep '' | awk -F'[><]' '{print $3}')" >> $GITHUB_ENV + # Fetch the latest YTLite version from GitHub API + YTLITE_VERSION=$(curl -s https://api.github.com/repos/dayanch96/YTLite/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [ -z "$YTLITE_VERSION" ] || [ "$YTLITE_VERSION" = "null" ]; then + echo "::error::Failed to fetch latest YTLite version from GitHub API" + exit 1 + fi + echo "YTLITE_VERSION=$YTLITE_VERSION" >> $GITHUB_ENV + echo "Fetched YTLite version: $YTLITE_VERSION" # Remove contents in the iPA that interfere with sideloading - rm -rf main/tmp/Payload/YouTube.app/_CodeSignature/CodeResources - rm -rf main/tmp/Payload/YouTube.app/PlugIns/* + rm -rf tmp/Payload/YouTube.app/_CodeSignature/CodeResources + rm -rf tmp/Payload/YouTube.app/PlugIns/* # Modify Info.plist to remove UISupportedDevices (Python script) python - <> $GITHUB_OUTPUT # Print out the hash and bundle ID echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m" echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m" env: - THEOS: ${{ github.workspace }}/theos + THEOS: theos BUNDLE_ID: ${{ inputs.bundle_id }} APP_NAME: ${{ inputs.app_name }} @@ -192,13 +195,13 @@ jobs: uses: actions/upload-artifact@v4.5.0 with: name: YTLitePlus_${{ env.YT_VERSION }}_${{ env.YTLITE_VERSION }} - path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + path: packages/${{ steps.build_package.outputs.package }} if-no-files-found: error - name: Upload Artifact to Catbox and update AltStore repo if: ${{ inputs.catbox_upload }} run: | - RESPONSE=$(curl -F "reqtype=fileupload" -F "fileToUpload=@${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}" https://catbox.moe/user/api.php) + RESPONSE=$(curl -F "reqtype=fileupload" -F "fileToUpload=@packages/${{ steps.build_package.outputs.package }}" https://catbox.moe/user/api.php) CATBOX_URL=$(echo $RESPONSE | grep -o -E 'https://files.catbox.moe/[^"]*') echo "Uploaded artifact to $CATBOX_URL" CATBOX_FILE=$(echo $CATBOX_URL | sed 's|https://files.catbox.moe/||') @@ -210,21 +213,21 @@ jobs: if: ${{ inputs.create_release }} run: | export TODAY=$(date '+%Y-%m-%d') - sed "s/%ytliteplus_version%/${{ env.YTLITE_VERSION }}/g; s/%youtube_version%/5.0.1/g; s/%catbox_url%/${{ env.CATBOX_FILE }}/g; s/%date%/$TODAY/g" \ - main/.github/RELEASE_TEMPLATE/Release.md > ${{ github.workspace }}/release_notes.md + sed "s/%ytliteplus_version%/${{ env.YTLITE_VERSION }}/g; s/%youtube_version%/${{ env.YT_VERSION }}/g; s/%catbox_url%/${{ env.CATBOX_FILE }}/g; s/%date%/$TODAY/g" \ + .github/RELEASE_TEMPLATE/Release.md > release_notes.md - name: Create Draft Release if: ${{ inputs.create_release }} id: create_release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v2.5.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: v${{ env.YT_VERSION }}-5.0.1 - name: v${{ env.YT_VERSION }}-5.0.1 - YTLitePlus - files: main/packages/*.ipa + tag_name: v${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }} + name: v${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }} - YTLitePlus + files: packages/*.ipa draft: true - body_path: ${{ github.workspace }}/release_notes.md + body_path: release_notes.md - name: Update Altstore Source with latest release if: ${{ inputs.catbox_upload }} diff --git a/.gitignore b/.gitignore index fc3037f..1af2e20 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ Tweaks/YTLite/* Resources/ *.ipa .vscode +_codeql_detected_source_root diff --git a/.gitmodules b/.gitmodules index b299503..84f5169 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,18 +7,12 @@ [submodule "Tweaks/FLEX"] path = Tweaks/FLEX url = https://github.com/PoomSmart/FLEXing.git -[submodule "Tweaks/iSponsorBlock"] - path = Tweaks/iSponsorBlock - url = https://github.com/Galactic-Dev/iSponsorBlock.git -[submodule "Tweaks/YTHoldForSpeed"] - path = Tweaks/YTHoldForSpeed - url = https://github.com/aricloverALT/YTHoldForSpeed.git [submodule "Tweaks/DontEatMyContent"] path = Tweaks/DontEatMyContent url = https://github.com/therealFoxster/DontEatMyContent.git [submodule "Extensions"] path = Extensions - url = https://github.com/CokePokes/YoutubeExtensions.git + url = https://github.com/BillyCurtis/OpenYouTubeSafariExtension.git [submodule "Tweaks/YTVideoOverlay"] path = Tweaks/YTVideoOverlay url = https://github.com/PoomSmart/YTVideoOverlay.git @@ -40,12 +34,6 @@ [submodule "Tweaks/YouGroupSettings"] path = Tweaks/YouGroupSettings url = https://github.com/PoomSmart/YouGroupSettings -[submodule "Tweaks/YouMute"] - path = Tweaks/YouMute - url = https://github.com/PoomSmart/YouMute -[submodule "Tweaks/YouQuality"] - path = Tweaks/YouQuality - url = https://github.com/PoomSmart/YouQuality [submodule "Tweaks/Return-YouTube-Dislikes"] path = Tweaks/Return-YouTube-Dislikes url = https://github.com/PoomSmart/Return-YouTube-Dislikes.git @@ -55,13 +43,7 @@ [submodule "Tweaks/YouTimeStamp"] path = Tweaks/YouTimeStamp url = https://github.com/aricloverALT/YouTimeStamp.git -[submodule "Tweaks/YouLoop"] - path = Tweaks/YouLoop - url = https://github.com/bhackel/YouLoop [submodule "Tweaks/FLEXing"] path = Tweaks/FLEXing url = https://github.com/PoomSmart/FLEXing.git branch = rootless -[submodule "Tweaks/YouSpeed"] - path = Tweaks/YouSpeed - url = https://github.com/PoomSmart/YouSpeed diff --git a/Makefile b/Makefile index 1dba5c9..b79bad2 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -export TARGET = iphone:clang:17.5:14.0 -export SDK_PATH = $(THEOS)/sdks/iPhoneOS17.5.sdk/ +export TARGET = iphone:clang:18.6:14.0 +export SDK_PATH = $(THEOS)/sdks/iPhoneOS18.6.sdk/ export SYSROOT = $(SDK_PATH) export ARCHS = arm64 @@ -24,7 +24,7 @@ BUNDLE_ID = com.google.ios.youtube YTLitePlus_FILES = YTLitePlus.xm $(shell find Source -name '*.xm' -o -name '*.x' -o -name '*.m') YTLitePlus_FRAMEWORKS = UIKit Security -YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libFLEX.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouLoop.dylib .theos/obj/YouMute.dylib .theos/obj/YouQuality.dylib .theos/obj/YouSpeed.dylib .theos/obj/YouTimeStamp.dylib .theos/obj/YouGroupSettings.dylib +YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libFLEX.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouTimeStamp.dylib .theos/obj/YouGroupSettings.dylib YTLitePlus_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib YTLitePlus_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework YTLitePlus_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unused-but-set-variable -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" @@ -36,7 +36,7 @@ YTLitePlus_USE_FISHHOOK = 0 include $(THEOS)/makefiles/common.mk ifneq ($(JAILBROKEN),1) -SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouLoop Tweaks/YouMute Tweaks/YouQuality Tweaks/YouSpeed Tweaks/YouTimeStamp Tweaks/YouGroupSettings +SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/DontEatMyContent Tweaks/YTVideoOverlay Tweaks/YouTimeStamp Tweaks/YouGroupSettings include $(THEOS_MAKE_PATH)/aggregate.mk endif include $(THEOS_MAKE_PATH)/tweak.mk @@ -46,7 +46,10 @@ REMOVE_EXTENSIONS = 1 CODESIGN_IPA = 0 YTLITE_PATH = Tweaks/YTLite -YTLITE_VERSION := 5.0.1 +YTLITE_VERSION := $(shell curl -s https://api.github.com/repos/dayanch96/YTLite/releases/latest | grep '"tag_name"' | sed 's/.*"v\(.*\)".*/\1/') +ifeq ($(YTLITE_VERSION),) +$(error Failed to fetch latest YTLite version from GitHub API) +endif YTLITE_DEB = $(YTLITE_PATH)/com.dvntm.ytlite_$(YTLITE_VERSION)_iphoneos-arm64.deb YTLITE_DYLIB = $(YTLITE_PATH)/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib YTLITE_BUNDLE = $(YTLITE_PATH)/var/jb/Library/Application\ Support/YTLite.bundle diff --git a/README.md b/README.md index b68cafd..c3a6ee5 100644 --- a/README.md +++ b/README.md @@ -81,37 +81,27 @@ 4. **YTABConfig**: Adds a new section named "A/B" in the YouTube app settings where all features can be toggled freely by the user. -5. **YouMute**: Allows users to mute/unmute videos directly in the YouTube Video Player. +5. **DontEatMyContent**: Prevents the notch/Dynamic Island from covering 2:1 video content in YouTube. -6. **DontEatMyContent**: Prevents the notch/Dynamic Island from covering 2:1 video content in YouTube. +6. **Return YouTube Dislikes**: Brings back Dislike counts under YouTube videos using ReturnYoutubeDislike's API. -7. **Return YouTube Dislikes**: Brings back Dislike counts under YouTube videos using ReturnYoutubeDislike's API. +7. **YouRememberCaption**: Makes YouTube remember your video caption setting. -8. **iSponsorBlock**: Skips annoying sponsor ads inside YouTube videos. +8. **YTNoTracking**: An iOS YouTube Tweak that disables Tracking Parameters in the YouTube App. -9. **YouRememberCaption**: Makes YouTube remember your video caption setting. +9. **YTNoCheckLocalNetWor**k: Blocks the Local Network permission popup in YouTube. -10. **YTNoTracking**: An iOS YouTube Tweak that disables Tracking Parameters in the YouTube App. +10. **BigYTMiniPlayer**: Jailbreak tweak that makes the miniplayer in youtube easier to see. -12. **YTNoCheckLocalNetWor**k: Blocks the Local Network permission popup in YouTube. +11. **YTVideoOverlay**: A helper tweak that adds buttons on the YouTube video overlay. -13. **BigYTMiniPlayer**: Jailbreak tweak that makes the miniplayer in youtube easier to see. +12. **YTNoModernUI**: This tweak changes and removes some newer UI elements from the YouTube app such as some rounded buttons, old progress bar, and old buffer bar. -14. **YTSpeed**: Adds 2.25x to 5x playback speed options in the YouTube video player. +13. **OLEDDarkmode**: Replace official Youtube darkmode with a true OLED darkmode. -15. **YTHoldForSpeed**: Allows you to quickly toggle between a selected video playback speed by tapping and holding on the video player in the YouTube application. +14. **OLDDarkmode**: Replace new official Youtube darkmode with old (grey) Youtube darkmode. -16. **YTVideoOverlay**: A helper tweak that adds buttons on the YouTube video overlay. - -17. **YouQuality**: Enables you to view and change video quality in YouTube faster. - -18. **YTNoModernUI**: This tweak changes and removes some newer UI elements from the YouTube app such as some rounded buttons, old progress bar, and old buffer bar. - -19. **OLEDDarkmode**: Replace official Youtube darkmode with a true OLED darkmode. - -20. **OLDDarkmode**: Replace new official Youtube darkmode with old (grey) Youtube darkmode. - -21. **LowContrastMode**: Makes the UI interface look dimmer to make it easier on the eyes. (App Compatibility: v17.33.2-v17.38.10) +15. **LowContrastMode**: Makes the UI interface look dimmer to make it easier on the eyes. (App Compatibility: v17.33.2-v17.38.10) # AltStore diff --git a/Source/Settings.xm b/Source/Settings.xm index 8946f03..e528b87 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -154,7 +154,7 @@ static const NSInteger YTLiteSection = 789; // Show an option to export YouTube Plus settings UIAlertController *exportAlert = [UIAlertController alertControllerWithTitle:@"Export Settings" - message:@"Note: This feature cannot save iSponsorBlock and most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?" + message:@"Note: This feature cannot save most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?" preferredStyle:UIAlertControllerStyleAlert]; [exportAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]]; [exportAlert addAction:[UIAlertAction actionWithTitle:@"Export" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { @@ -655,7 +655,6 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"NEW_MINIPLAYER_STYLE"), LOC(@"NEW_MINIPLAYER_STYLE_DESC"), @"bigYTMiniPlayer_enabled"), BASIC_SWITCH(LOC(@"HIDE_CAST_BUTTON"), LOC(@"HIDE_CAST_BUTTON_DESC"), @"hideCastButton_enabled"), BASIC_SWITCH(LOC(@"VIDEO_PLAYER_BUTTON"), LOC(@"VIDEO_PLAYER_BUTTON_DESC"), @"videoPlayerButton_enabled"), - BASIC_SWITCH(LOC(@"HIDE_SPONSORBLOCK_BUTTON"), LOC(@"HIDE_SPONSORBLOCK_BUTTON_DESC"), @"hideSponsorBlockButton_enabled"), BASIC_SWITCH(LOC(@"HIDE_HOME_TAB"), LOC(@"HIDE_HOME_TAB_DESC"), @"hideHomeTab_enabled"), BASIC_SWITCH(LOC(@"FIX_CASTING"), LOC(@"FIX_CASTING_DESC"), @"fixCasting_enabled"), BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"), @@ -722,7 +721,7 @@ static const NSInteger YTLiteSection = 789; [[%c(GOOHUDManagerInternal) sharedInstance] showMessageMainThread:[%c(YTHUDMessage) messageWithText:@"Settings saved"]]; // Export mode: Display a reminder to save YouTube Plus settings UIAlertController *exportAlert = [UIAlertController alertControllerWithTitle:@"Export Settings" - message:@"Note: This feature cannot save iSponsorBlock and most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?" + message:@"Note: This feature cannot save most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?" preferredStyle:UIAlertControllerStyleAlert]; [exportAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]]; [exportAlert addAction:[UIAlertAction actionWithTitle:@"Export" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { diff --git a/Source/SettingsKeys.h b/Source/SettingsKeys.h index d18b4e8..d38802b 100644 --- a/Source/SettingsKeys.h +++ b/Source/SettingsKeys.h @@ -15,7 +15,7 @@ NSArray *NSUserDefaultsCopyKeys = @[ @"enableVersionSpoofer_enabled", @"fixCasting_enabled", @"flex_enabled", @"fullscreenToTheRight_enabled", @"hideAutoplayMiniPreview_enabled", @"hideCastButton_enabled", @"hideHUD_enabled", @"hideHeatwaves_enabled", @"hideHomeTab_enabled", @"hidePreviewCommentSection_enabled", @"hideRightPanel_enabled", - @"hideSpeedToast_enabled", @"hideSponsorBlockButton_enabled", @"hideVideoPlayerShadowOverlayButtons_enabled", + @"hideSpeedToast_enabled", @"hideVideoPlayerShadowOverlayButtons_enabled", @"iPadLayout_enabled", @"iPhoneLayout_enabled", @"inline_muted_playback_enabled", @"lowContrastMode_enabled", @"newSettingsUI_enabled", @"oledKeyBoard_enabled", @"playerGesturesHapticFeedback_enabled", @"playerGestures_enabled", @"seekAnywhere_enabled", @"switchCopyandPasteFunctionality_enabled", @@ -23,18 +23,15 @@ NSArray *NSUserDefaultsCopyKeys = @[ // DEMC - https://github.com/therealFoxster/DontEatMyContent/blob/master/Tweak.h @"DEMC_enabled", @"DEMC_colorViewsEnabled", @"DEMC_safeAreaConstant", @"DEMC_disableAmbientMode", @"DEMC_limitZoomToFill", @"DEMC_enableForAllVideos", - // iSponsorBlock cannot be exported using this method - it is also being removed in v5 + // iSponsorBlock has been removed in v5 - YTLite has built-in SponsorBlock // Return-YouTube-Dislike - https://github.com/PoomSmart/Return-YouTube-Dislikes/blob/main/TweakSettings.h @"RYD-ENABLED", @"RYD-VOTE-SUBMISSION", @"RYD-EXACT-LIKE-NUMBER", @"RYD-EXACT-NUMBER", - // All YTVideoOverlay Tweaks - https://github.com/PoomSmart/YTVideoOverlay/blob/0fc6d29d1aa9e75f8c13d675daec9365f753d45e/Tweak.x#L28C1-L41C84 - @"YTVideoOverlay-YouLoop-Enabled", @"YTVideoOverlay-YouTimeStamp-Enabled", @"YTVideoOverlay-YouMute-Enabled", - @"YTVideoOverlay-YouQuality-Enabled", @"YTVideoOverlay-YouLoop-Position", @"YTVideoOverlay-YouTimeStamp-Position", - @"YTVideoOverlay-YouMute-Position", @"YTVideoOverlay-YouQuality-Position", + // YTVideoOverlay Tweaks - https://github.com/PoomSmart/YTVideoOverlay/blob/0fc6d29d1aa9e75f8c13d675daec9365f753d45e/Tweak.x#L28C1-L41C84 + @"YTVideoOverlay-YouTimeStamp-Enabled", @"YTVideoOverlay-YouTimeStamp-Position", // YouPiP - https://github.com/PoomSmart/YouPiP/blob/main/Header.h @"YouPiPPosition", @"CompatibilityModeKey", @"PiPActivationMethodKey", @"PiPActivationMethod2Key", @"NoMiniPlayerPiPKey", @"NonBackgroundableKey", // YTABConfig cannot be reasonably exported using this method - // YTHoldForSpeed will be removed in v5 // YouTube Plus / YTLite cannot be exported using this method // YTUHD - https://github.com/PoomSmart/YTUHD/blob/master/Header.h @"EnableVP9", @"AllVP9", diff --git a/Source/Themes.xm b/Source/Themes.xm index 50457ff..94cb879 100644 --- a/Source/Themes.xm +++ b/Source/Themes.xm @@ -49,22 +49,6 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha: return self.pageStyle == 1 ? customColor : %orig; } %end -%hook SponsorBlockSettingsController -- (void)viewDidLoad { - if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { - %orig; - self.tableView.backgroundColor = customColor; - } else { return %orig; } -} -%end -%hook SponsorBlockViewController -- (void)viewDidLoad { - if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { - %orig; - self.view.backgroundColor = customColor; - } else { return %orig; } -} -%end %hook YTAsyncCollectionView - (void)setBackgroundColor:(UIColor *)color { if ([self.nextResponder isKindOfClass:NSClassFromString(@"YTRelatedVideosCollectionViewController")]) { diff --git a/Tweaks/YTHoldForSpeed b/Tweaks/YTHoldForSpeed deleted file mode 160000 index ba20df7..0000000 --- a/Tweaks/YTHoldForSpeed +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ba20df7ad8d0dfdb024688f3d92735f887fe5908 diff --git a/Tweaks/YouLoop b/Tweaks/YouLoop deleted file mode 160000 index 899a2fd..0000000 --- a/Tweaks/YouLoop +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 899a2fdd539ae308e5847bbb3d7212cfce30a3a6 diff --git a/Tweaks/YouMute b/Tweaks/YouMute deleted file mode 160000 index 8d6726e..0000000 --- a/Tweaks/YouMute +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8d6726e569a194d3f1c1ae973b290c66301087f1 diff --git a/Tweaks/YouQuality b/Tweaks/YouQuality deleted file mode 160000 index d56dccd..0000000 --- a/Tweaks/YouQuality +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d56dccd4336f0902f05813f4af177360c69fe33f diff --git a/Tweaks/YouSpeed b/Tweaks/YouSpeed deleted file mode 160000 index 79b9ed4..0000000 --- a/Tweaks/YouSpeed +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 79b9ed44958ad27fe75ee14ccc300aa99610c263 diff --git a/Tweaks/iSponsorBlock b/Tweaks/iSponsorBlock deleted file mode 160000 index e0f97ef..0000000 --- a/Tweaks/iSponsorBlock +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e0f97ef5fe47c5c3728ce2ff7a6fb02bc085e86b diff --git a/YTLitePlus.h b/YTLitePlus.h index 53910ee..1bd03c9 100644 --- a/YTLitePlus.h +++ b/YTLitePlus.h @@ -190,13 +190,12 @@ typedef NS_ENUM(NSUInteger, GestureSection) { @property (nonatomic, assign, readwrite) YTQTMButton *watchCollapseButton; @end -// SponsorBlock button in Nav bar +// SponsorBlock button in Nav bar - removed (now built into YTLite v5.x) @interface MDCButton : UIButton @end @interface YTRightNavigationButtons (YTLitePlus) @property YTQTMButton *notificationButton; -@property YTQTMButton *sponsorBlockButton; @property YTQTMButton *videoPlayerButton; @end @@ -274,12 +273,6 @@ typedef NS_ENUM(NSUInteger, GestureSection) { @interface YTCommentDetailHeaderCell : UIView @end -@interface SponsorBlockSettingsController : UITableViewController -@end - -@interface SponsorBlockViewController : UIViewController -@end - @interface UICandidateViewController : UIViewController @end diff --git a/YTLitePlus.xm b/YTLitePlus.xm index 9a87fdf..40d1cf4 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -108,16 +108,6 @@ BOOL isSelf() { } %end -// Hide SponsorBlock Button in navigation bar -%hook YTRightNavigationButtons -- (void)layoutSubviews { - %orig; - if (IsEnabled(@"hideSponsorBlockButton_enabled")) { - self.sponsorBlockButton.hidden = YES; - } -} -%end - // Hide Video Player Cast Button %group gHideCastButton %hook MDXPlaybackRouteButtonController @@ -1305,12 +1295,6 @@ NSInteger pageStyle = 0; NSArray *allKeys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]; if (![allKeys containsObject:@"YTLPDidPerformFirstRunSetup"]) { [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"YTLPDidPerformFirstRunSetup"]; - // Set iSponsorBlock to default disabled - NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; - NSString *settingsPath = [documentsDirectory stringByAppendingPathComponent:@"iSponsorBlock.plist"]; - NSMutableDictionary *settings = [NSMutableDictionary dictionary]; - [settings setObject:@(NO) forKey:@"enabled"]; - [settings writeToFile:settingsPath atomically:YES]; // Set miscellaneous YTLitePlus features to enabled [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"RYD-ENABLED"]; [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"YouPiPEnabled"];