Skip to content

fix(TikTok): Vibe updated TikTok/Musically patch compatibility to 43.6.2#6535

Open
X41 wants to merge 1 commit intoReVanced:devfrom
X41:main
Open

fix(TikTok): Vibe updated TikTok/Musically patch compatibility to 43.6.2#6535
X41 wants to merge 1 commit intoReVanced:devfrom
X41:main

Conversation

@X41
Copy link

@X41 X41 commented Jan 26, 2026

I got sick of the patches only working on 36.5.4 and the other modded tiktok apps being kind of awful, but i also wasn't motivated enough to dig into this myself so i guided an LLM to do it for me and additionally add some debug logging over the course of an evening.
i gave everything a try and used the app for a while with no issues, hope this is as stable as it feels
here's the summary the LLM whipped up:

What broke (43.6.2)

  • Feed filtering stopped being reliable because feed data no longer consistently flows through the previously-hooked network/service path (cache/alt pipelines).
  • FeedFilter could crash at runtime with NoSuchMethodError because Aweme no longer exposes isLive()/isImage()/isPhotoMode() in 43.6.2.
  • TikTok settings UI moved to Compose; the previous Settings patch entry point is not stable on 43.6.2.

Changes

Feed filter (patch + extension)

  • Move the primary hook to FeedItemList.getItems() so filtering runs regardless of which pipeline produced the feed list (incl. cache).
  • Keep follow-feed filtering and add null-safety so we don’t crash on unexpected return values.
  • Update filtering logic to match 43.6.2 Aweme API:
    • Live detection: getLiveId()/getLiveType() (+ isLiveReplay()).
    • Image/photo-mode detection: getImageInfos() and getPhotoModeImageInfo()/getPhotoModeTextInfo().
    • Add null-safety for getShareUrl() in ShopFilter.
  • Update TikTok stub classes accordingly (incl. new photo-mode stub types).

Settings entry (43.6.2)

  • Add a new patch Enable Open Debug that re-enables TikTok’s hidden “Open debug” row, renames it to “ReVanced settings”, swaps the icon to a gear, and wires the click to open ReVanced settings via AdPersonalizationActivity using a dedicated intent action (revanced_settings).
  • Extend TikTokActivityHook.initialize() to also accept the revanced_settings intent action (not only marker extras).
  • Mark the old Settings patch use=false for now (Compose settings redesign makes the previous entry injection unstable on 43.6.2).

Debug logging (opt-in)

  • Add verbose per-item FeedFilter logging (and batch summaries) to help verify filtering and diagnose future model changes.
  • Add gated debug logs (only when “Enable debug log” is on) to other TikTok extensions: Downloads, Playback speed, Clear display, Sanitize share URLs (rate-limited / only on changes where applicable).
  • Add “Export debug logs” and “Clear debug logs” actions in ReVanced settings → Miscellaneous.

Misc

  • Bump affected patch compatibility to TikTok/Musically 43.6.2 and refresh fingerprints where needed.
  • Regenerate patches.api for the new patch entry.

// TikTok 43.6.2: Lcom/ss/android/ugc/aweme/feed/api/FeedApi;->LIZIZ(LX/0Qft;)Lcom/ss/android/ugc/aweme/feed/model/FeedItemList;
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Lcom/ss/android/ugc/aweme/feed/model/FeedItemList;")
parameters("LX/0Qft;")
Copy link
Contributor

@drobotk drobotk Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not very maintainable, obfuscated names should not be in fingerprints, because they are likely different in every app version.

@oSumAtrIX oSumAtrIX self-requested a review February 8, 2026 13:25
@oSumAtrIX
Copy link
Member

An LLM was guided here, the PR will need to be tested against the app to make sure it actually works anyways

@oSumAtrIX oSumAtrIX changed the base branch from main to dev February 8, 2026 18:35
@lbux
Copy link

lbux commented Feb 10, 2026

I saw this when it was released and made my own attempt at it. I took a different approach and worked off the v36 version to make as minimal changes as possible. I don't plan to make a PR because it is only for my use (and has hard coded settings), and I don't have the time to really flesh it out. If anyone finds it useful, here is my attempt at v43.8.3 lbux@0ad2464

I did not fix the settings patch and I was unable to make the remember speed patch to work. I also copied some of the filtering logic from this PR because that actually turned out to be fine. Everything else has too obfuscated and/or too overengineered.

I also didn't touch the remember clear display patch because it compiled fine, but it will eventually crash like this attempt #4920

I can confirm downloads, feed filtering (except by like/view count), share, seekbar, and everything else works not mentioned above. Howerver, like this PR, it seems like Tiktok has done some weird changes to the way downloads work where sometimes they download as null files. This doesnt happen all the time, but I think it has something to do with the attempt to get the file without the watermark remotely returns null and we still attempt to download.

I think my fork would be a better starting point than this PR if anyone wanted to work on this PR.

Edit:

I ended up implementing my own filtering logic and changing the way feed filters work + adding a bloat filter. Full changes are in the dev branch https://github.com/lbux/revanced-patches/tree/dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants