Skip to content

v0.28.0

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 10 Sep 09:14
· 0 commits to a7b84ed659e0ce3e8e23898eb51d339730002cd8 since this release

Hushfeed v0.28.0 targets global TikTok 46.2.3 (com.zhiliaoapp.musically).

The headline is that automatic video advance actually works now. With it switched on, a fresh start of TikTok did nothing at all, because TikTok only builds the piece that does the scrolling once somebody opens the video panel and asks for it by hand, and everything here hangs off that piece. It gets built at launch now. A second problem sat behind it: the check for whether the feed was on screen asked TikTok's auto scroll indicator about itself, and TikTok keeps that hidden until scrolling is already running, so the answer was always no. Changing the session limit starts a fresh count instead of carrying the old one along.

Settings had a bad habit of needing a visit. Patches you selected now switch themselves on when the app launches, so search controls you use before ever opening Hushfeed settings work. Leaving an old settings page open no longer undoes a newer choice, and changing your font size or navigation mode keeps you on the page you were using. On a phone in dark mode with TikTok in its light theme, the settings screen used to leave a black band where the clock and battery live. It reads TikTok's theme first now.

Daily holds got most of the attention this time. A hold pauses the video underneath it and resumes only the one it paused, and only while that feed is still on screen. If another app owns the sound when the hold ends, the video waits for the sound to come back rather than resuming into silence. Holds survive a trip to settings and an activity restart, and the panel's lower edge follows TikTok's own tab row so Home and messages stay tappable.

Long presses were doing less than the settings claimed. The two copy choices were wired to double tap, whose settings never offered them, so nobody could reach them. Custom long-press actions now take precedence over TikTok's own 2x edge hold, and they run from the newer coordinate callback as well as the older gesture listener. Edge seeking was converting positions to the wrong scale, and the fixtures that should have caught it were using the same wrong conversion.

Saving got better at picking the right thing. Profile pictures try TikTok's largest image first, where before a 1080-pixel original could come down as a 300-pixel copy. A story long press reaches the story that's actually showing rather than the collection around it. Saving a video without its sound keeps the rotation, and on Android 6 through 9 a save refused for want of storage permission says so instead of failing quietly.

Comment search cleans up after itself. Turning it off takes the box out of a sheet that's already open and puts back the rows and reply controls it hid, and turning it back on works with the comments already loaded.

Also here: follow diagnostics reads the modern profile response and keeps each relationship with the account it belongs to. Hiding search suggestions now covers cached recommendations and returns to the search page. The block and Not interested buttons attach to the creator you're on as soon as you switch them on. Inbox options that are off leave TikTok's own decisions alone, and a Feature Gate Lab override no longer empties an array it was meant to keep.

Validation: 995 runtime tests passed locally, plus forty-five in the patches module. The bundle carries 70 patches and applied cleanly to the vendor APK. It is byte reproducible: two builds of this commit produce the same file. Needs Morphe Manager 1.29.0 or newer.

The downloadable .mpp is the patch bundle. Patch on the device with Morphe Manager and keep its existing signing key.

Note, 2026-09-10: the .mpp and SHA256SUMS.txt on this release were replaced a few hours after it went out. The patches inside are identical, entry for entry. What was wrong is the build stamp in the bundle manifest, which records the commit the file was built from so anyone can rebuild it and get the same checksum. The first upload was built a couple of commits early, so it carried the wrong one and a rebuild from this tag produced a different hash. The file here now is built from the tagged commit. If you downloaded before the replacement and your checksum no longer matches, that is why, and downloading again will settle it.