Skip to content

Version 0.5.1#164

Merged
ReSo7200 merged 12 commits intomainfrom
Version-0.5.1
Apr 19, 2026
Merged

Version 0.5.1#164
ReSo7200 merged 12 commits intomainfrom
Version-0.5.1

Conversation

@ReSo7200
Copy link
Copy Markdown
Owner

@ReSo7200 ReSo7200 commented Apr 19, 2026

🌘 InstaEclipse v0.5.1

No reinstall required. You can update over your existing v0.5.0 installation.


✨ New Features

  • feat(feed): Hide suggestions in feed + client-side reels blocker
  • feat(cache): Clear Hooks Cache option added to main menu
  • feat(double-tap-like): Disable double-tap to like on feed and reels

🐛 Bug Fixes

  • fix(ui): Resolve lag and inbox long-press conflict
  • fix(android11): Resolve NoClassDefFoundError on API 30
  • fix(module): Remove dead hookOwnModule causing crash on launch
  • fix(ghost-indicator): Replace emoji overlay with icon tint
  • fix(downloader): Resolve "no media found" for feed posts on IG v426
  • fix(i18n): make all toasts and feature labels fully translated

ReSo7200 and others added 10 commits April 18, 2026 17:47
 Fix UI lag caused by expensive operations on hot paths:
  - Cache resource IDs (getIdentifier) statically in UIHookManager,
    GhostDMMarkAsReadHook, and GhostChannelMarkAsReadHook — previously
    called on every view attachment or every resume
  - Add early feature-flag bail in onAttachedToWindow hooks (isGhostSeen
    check moved to top, skips all work when ghost seen is off)
  - Guard OnGlobalLayoutListener registration with a WeakHashMap to
    prevent accumulation across onResume calls
  - Empty the BottomSheetNavigator hook body — was flooding the main
    thread with setupHooks calls on every navigation/scroll event

  Fix inbox long-press triggering Instagram's behavior instead of the
  ghost toggle on certain nav bar configurations:
  - Hook View.performLongClick() directly so our handler fires before
    any parent touch interceptor or custom view override can consume
    the event; setResult(true) prevents Instagram's handler entirely
  - Remove sWiringDone guard that was blocking listener re-application
    after Instagram overwrites it following a config change

  Remove dead code: isAnyGhostOptionEnabled() wrapper, redundant inbox
  setOnLongClickListener block, misplaced @SuppressLint annotation
On Android 11 (API 30), getMethodInstance(classLoader) internally calls
  Method.getParameterTypes() which resolves every class referenced in any
  method signature found in InstagramMainActivity — including
  android.app.PictureInPictureUiState (added in API 31). This throws
  NoClassDefFoundError, preventing onCreate and onResume from being hooked.

  Replace both getMethodInstance() + XposedBridge.hookMethod() call sites
  with XposedHelpers.findAndHookMethod(), passing parameter types explicitly
  (Bundle.class for onCreate, none for onResume). The JVM now only resolves
  what we hand it, never touching PictureInPictureUiState.

  Also extract INSTAGRAM_MAIN_ACTIVITY as a constant (was duplicated 4x)
  and add null/empty guard on the resolved method name before hooking.

Co-Authored-By: Flole <9951871+flole998@users.noreply.github.com>
isModuleActive() was removed from MainActivity but hookOwnModule() was still trying to hook it via findAndHookMethod(). This threw
  NoSuchMethodError (an Error, not Exception), which escaped both
  catch (Exception e) guards in hookOwnModule and handleLoadPackage,
  crashing the entire module load for all users who opened the app.

  Remove hookOwnModule() and its call site entirely, along with the now-
  unused XC_MethodReplacement import and findAndHookMethod static import.
The ghost emoji overlay was inserting a view at index+1 in Instagram's
  nav bar ViewGroup, shifting child indices and causing a NPE cast to
  MainTabNotification when navigating to reels on tablet devices.

  Replace the overlay approach entirely with a color filter on the inbox
  tab's ImageView. Ghost mode active tints the icon gold (#FFD700);
  deactivating clears the filter and restores the original icon.
- HideSuggestionsInFeed: hooks the FeedItem parser bridge method and
    returns null for any item with no Media field, reliably filtering
    out all non-post content (suggested users, surveys, bloks, clips
    netego, stories netego, etc.)
Add DexKitCache.clearCache() to wipe SharedPreferences and invalidate
    the in-session cache flag
Hooks feed like dispatcher via "double_tap_on_liked"/"used_double_tap" strings,
  and Reels entry point via class-level "clips_doubletap"+"LIKE_FIRED" fingerprint.
  Uses onDoubleTap stack check to allow button likes through.
ReSo7200 and others added 2 commits April 19, 2026 16:36
Co-Authored-By: T8numen <164989241+T8numen@users.noreply.github.com>
@ReSo7200 ReSo7200 merged commit 80cbbbc into main Apr 19, 2026
1 check passed
@ReSo7200 ReSo7200 linked an issue Apr 19, 2026 that may be closed by this pull request
3 tasks
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.

toast pop-up translation [Feature Request] Disable double tap to like [feature request] Hide suggestions on home page

1 participant