From 4087630525a7819aa8d9e90795a7b37ea44ecbe3 Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Wed, 11 Feb 2026 19:35:11 +0100
Subject: [PATCH] Update build workflow: bump actions, SDK 18.6, simplify
paths, swap extension repo (#700)
* Dynamic versioning, remove duplicate features, fix build references
- Replace hardcoded YTLITE_VERSION=5.0.1 with dynamic GitHub API fetch in Makefile
- Add fallback error if API fetch fails in Makefile
- Update buildapp.yml to use dynamic version fetching with jq
- Replace all hardcoded 5.0.1 references with env vars in buildapp.yml
- Add jq to workflow dependencies
- Remove duplicate tweaks from INJECT_DYLIBS and SUBPROJECTS (iSponsorBlock,
YTHoldForSpeed, YouLoop, YouMute, YouQuality, YouSpeed)
- Remove git submodules for removed tweaks
- Remove SponsorBlock button hiding code from YTLitePlus.xm
- Remove iSponsorBlock first-run setup from YTLitePlus.xm
- Remove SponsorBlockSettingsController/ViewController hooks from Themes.xm
- Remove hideSponsorBlockButton setting from Settings.xm
- Update iSponsorBlock text references in Settings.xm
- Remove SponsorBlock class declarations from YTLitePlus.h
- Remove duplicate overlay keys from SettingsKeys.h
Co-authored-by: Balackburn <93828569+Balackburn@users.noreply.github.com>
* All changes verified and complete
Co-authored-by: Balackburn <93828569+Balackburn@users.noreply.github.com>
* Remove accidentally committed codeql artifact, add to .gitignore
Co-authored-by: Balackburn <93828569+Balackburn@users.noreply.github.com>
* Update build workflow and remove duplicate features from README
Workflow changes:
- Bump actions/cache from v4.2.0 to v5.0.2
- Bump actions/checkout from v4.2.2 to v6.0.1
- Bump softprops/action-gh-release from v2 to v2.5.0
- Update theos ref to latest commit (13c2237)
- Add THEOS env to Fix Compiling step
- Update default SDK version from 17.5 to 18.6
- Change SDK repo from aricloverALT to aricloverEXTRA
- Remove Checkout Main step (not needed for building)
- Remove unnecessary ${{ github.workspace }} paths
- Change YouTube extension repo from CokePokes to BillyCurtis
Other changes:
- Update Makefile default SDK references to 18.6
- Update .gitmodules Extensions URL
- Remove duplicate features from README (YouMute, iSponsorBlock,
YTSpeed, YTHoldForSpeed, YouQuality) and fix numbering
Co-authored-by: Balackburn <93828569+Balackburn@users.noreply.github.com>
* Add back repo checkout step without path prefix
The checkout step is still needed to get the source code,
but without path: main so it checks out to workspace root.
This is consistent with the removal of all main/ path prefixes.
Co-authored-by: Balackburn <93828569+Balackburn@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Balackburn <93828569+Balackburn@users.noreply.github.com>
---
.github/workflows/buildapp.yml | 79 ++++++++++++++++++----------------
.gitignore | 1 +
.gitmodules | 20 +--------
Makefile | 13 +++---
README.md | 32 +++++---------
Source/Settings.xm | 5 +--
Source/SettingsKeys.h | 11 ++---
Source/Themes.xm | 16 -------
Tweaks/YTHoldForSpeed | 1 -
Tweaks/YouLoop | 1 -
Tweaks/YouMute | 1 -
Tweaks/YouQuality | 1 -
Tweaks/YouSpeed | 1 -
Tweaks/iSponsorBlock | 1 -
YTLitePlus.h | 9 +---
YTLitePlus.xm | 16 -------
16 files changed, 69 insertions(+), 139 deletions(-)
delete mode 160000 Tweaks/YTHoldForSpeed
delete mode 160000 Tweaks/YouLoop
delete mode 160000 Tweaks/YouMute
delete mode 160000 Tweaks/YouQuality
delete mode 160000 Tweaks/YouSpeed
delete mode 160000 Tweaks/iSponsorBlock
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"];