Skip to content

​[Feature Request] Implement "Invalidate inline hooks" to bypass detection points #641

Open

Description

@Hassinalhadi

Is your feature request related to a problem?/你的请求是否与某个问题相关?

Yes. When I use a module (requiring API 100) and target a specific app (e.g., HungerStation), the app immediately force closes upon launch. In the official LSPosed manager, this specific crash can be bypassed using the "Invalidate inline hooks" feature. Since Vector currently lacks this feature, the app remains completely inaccessible when targeted by the module.

Describe the solution you'd like/描述你想要的解决方案

​I would like to request the implementation of the "Invalidate inline hooks" (Cleanup libart.so for listed apps) feature in Vector's settings, similar to how it exists in the official LSPosed manager. This would serve as a necessary workaround to allow stubborn apps to launch successfully when targeted.

Additional context/其他信息

Device: Tecno Camon 30 (Model: CL6)
​Vector Version: 2.0 (3021)
​Note to developer: As requested, I am attaching the crash logs to this issue to demonstrate the force close that occurs due to the absence of this feature.

LSPosed_crash_report1775491137.zip

LSPosed_2026-04-06T15_19_33.302149.zip

Activity

  1. JingMatrix commented on Apr 6, 2026

    @JingMatrix
    Owner

    Do you mean that #634 doesn't happen for other targeted applications, such as Instagram ?

  2. Hassinalhadi commented on Apr 6, 2026

    @Hassinalhadi
    Author

    Do you mean that #634 doesn't happen for other targeted applications, such as Instagram ?

    No, it happens with other apps as well. If I target any app (even Instagram), it forces closes immediately.

  3. JingMatrix commented on Apr 6, 2026

    @JingMatrix
    Owner

    @Hassinalhadi In this case, are other Xposed modules working on your devices with Vector ?

  4. Hassinalhadi commented on Apr 7, 2026

    @Hassinalhadi
    Author

    @Hassinalhadi In this case, are other Xposed modules working on your devices with Vector ?

    Yes, other Xposed modules are working fine with Vector on my device. The force close issue seems to happen specifically when using this module

  5. JingMatrix commented on Apr 7, 2026

    @JingMatrix
    Owner

    @Hassinalhadi Your issue is likely to be a problem of the module, did you try to contact the module developer ?

  6. JingMatrix commented on Apr 7, 2026

    @JingMatrix
    Owner

    Here are the logs:

    [ 2026-04-06T15:07:32.761    10276:  7076:  7076 V/Vector          ] Loading Vector/Xposed for com.logistics.rider.hungerstation (UID: 10276)
    [ 2026-04-06T15:07:32.772    10276:  7076:  7076 V/VectorLegacyBridge ] Loading legacy module com.mantle from /data/app/~~_Nrugm5KUJ9P2NCgH34FQA==/com.mantle-uchh5JQWOGL_WeZZTw82-A==/base.apk
    [ 2026-04-06T15:07:32.905    10276:  7076:  7076 V/VectorLegacyBridge ]   Loading class com.mantle.xposed.XposedEntry
    [ 2026-04-06T15:07:33.287     1000:  1697:  4350 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10058
    [ 2026-04-06T15:07:33.364    10276:  7076:  7076 I/VectorLegacyBridge ] MX: XposedEntry: handleLoadPackage → com.logistics.rider.hungerstation
    [ 2026-04-06T15:07:33.364    10276:  7076:  7076 I/VectorLegacyBridge ] MX: Dispatcher: pkg=com.logistics.rider.hungerstation SDK=35
    [ 2026-04-06T15:07:33.364    10276:  7076:  7076 I/VectorLegacyBridge ] MX: Using TmpFileExporter for com.logistics.rider.hungerstation
    [ 2026-04-06T15:07:33.532    10276:  7076:  7076 I/VectorLegacyBridge ] MX: TmpFileExporter: fast-read from /data/local/tmp/mantle_profiles.json (4 packages)
    [ 2026-04-06T15:07:33.532    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Profile loaded via TMP file for com.logistics.rider.hungerstation (35 toggles, hwSpecs=true)
    [ 2026-04-06T15:07:33.535    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Injected hwSpecs for model=moto g 5G plus
    [ 2026-04-06T15:07:33.535    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Injected firstApiLevel=29 for model=moto g 5G plus
    [ 2026-04-06T15:07:33.535    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Injected platformBuild=QPNS30.37-Q3-42-51-4 for model=moto g 5G plus
    [ 2026-04-06T15:07:33.551    10276:  7076:  7076 I/VectorLegacyBridge ] MX: HookSet.applyAll: pkg=com.logistics.rider.hungerstation toggles=35
    [ 2026-04-06T15:07:33.560    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🕵️ FrameworkHideHook: Initializing stealth hooks
    [ 2026-04-06T15:07:33.565    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Stack trace filtering installed
    [ 2026-04-06T15:07:33.567    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ File existence hiding installed
    [ 2026-04-06T15:07:33.571    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Package list filtering installed
    [ 2026-04-06T15:07:33.573    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ /proc/self/maps filtering installed (tagged)
    [ 2026-04-06T15:07:33.573    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ FrameworkHideHook: All stealth hooks installed
    [ 2026-04-06T15:07:33.573    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔒 ExecHook: Initializing root command interception
    [ 2026-04-06T15:07:33.575    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Runtime.exec(String) hooks installed
    [ 2026-04-06T15:07:33.577    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Runtime.exec(String[]) hooks installed
    [ 2026-04-06T15:07:33.578    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ ProcessBuilder.start() hook installed
    [ 2026-04-06T15:07:33.578    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ ExecHook: All exec hooks installed
    [ 2026-04-06T15:07:33.579    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 👻 ProcessHook: Initializing process hiding hooks
    [ 2026-04-06T15:07:33.580    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ getRunningAppProcesses hook installed
    [ 2026-04-06T15:07:33.581    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ getRunningServices hook installed
    [ 2026-04-06T15:07:33.582    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ /proc/self/maps + /proc/self/status filtering installed (tagged)
    [ 2026-04-06T15:07:33.582    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ File.listFiles() filtering installed
    [ 2026-04-06T15:07:33.582    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ ProcessHook: All process hiding hooks installed
    [ 2026-04-06T15:07:33.599    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔍 BuildHook initialized for Android SDK=35
    [ 2026-04-06T15:07:33.599    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ➡ Using method-based hooks for Android 35
    [ 2026-04-06T15:07:33.601    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked Build.getString() successfully (toggle-driven)
    [ 2026-04-06T15:07:33.603    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked SystemProperties.get() successfully (toggle-driven)
    [ 2026-04-06T15:07:33.603    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.SECURITY_PATCH static field
    [ 2026-04-06T15:07:33.603    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Security patch hooks applied
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔧 SoC: Spoofing SOC_MODEL → Snapdragon 765, SOC_MANUFACTURER → Qualcomm (source model: moto g 5G plus)
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.SOC_MODEL → Snapdragon 765
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.SOC_MANUFACTURER → Qualcomm
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ SoC verification PASSED: SOC_MODEL=Snapdragon 765, SOC_MANUFACTURER=Qualcomm
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔧 SoC: Spoofing SOC_MODEL → Snapdragon 765, SOC_MANUFACTURER → Qualcomm (source model: moto g 5G plus)
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.SOC_MODEL → Snapdragon 765
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.SOC_MANUFACTURER → Qualcomm
    [ 2026-04-06T15:07:33.604    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ SoC verification PASSED: SOC_MODEL=Snapdragon 765, SOC_MANUFACTURER=Qualcomm
    [ 2026-04-06T15:07:33.605    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.RELEASE → 15
    [ 2026-04-06T15:07:33.605    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ Unsafe RELEASE write failed: sun.misc.Unsafe.staticFieldBase [class java.lang.reflect.Field]
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.CODENAME → REL
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.RELEASE_OR_CODENAME → 15
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY → 15
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.SDK_INT → 35 (real=35, profile=35)
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ Unsafe SDK_INT write failed: sun.misc.Unsafe.staticFieldBase [class java.lang.reflect.Field]
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Build.VERSION.SECURITY_PATCH → 2025-01-01
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Force-updated Build static fields (toggle-driven)
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ BuildPropHook: /system/build.prop line rewriting installed (48 props)
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔍 KernelHook DIAG: devModel=moto g 5G plus, devAndroidVersion=15
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔍 KernelHook DIAG: hwSpecs=true, kernel=4.19.125-perf+, soc=Snapdragon 765
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔍 KernelHook DIAG: serverKernel=4.19.125-perf+
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔍 KernelHook DIAG: majorVersion=15 (raw devAndroidVersion=15)
    [ 2026-04-06T15:07:33.606    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔒 KernelHook: spoofing os.version → 4.19.125-perf+ (from server: true, model: moto g 5G plus, androidVer: 15, majorVer: 15)
    [ 2026-04-06T15:07:33.607    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ KernelHook: System.setProperty(os.version) → 4.19.125-perf+
    [ 2026-04-06T15:07:33.607    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ KernelHook: Reflected props.setProperty(os.version) → 4.19.125-perf+
    [ 2026-04-06T15:07:33.607    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ❌ KernelHook: Verification FAILED — os.version = 5.10.237-android12-9-00013-gd09ef2e980e0-ab13968955 (expected 4.19.125-perf+)
    [ 2026-04-06T15:07:33.608    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ KernelHook: /proc/version interception installed
    [ 2026-04-06T15:07:33.624    10276:  7076:  7076 I/VectorLegacyBridge ] MX: AdvertisingIdHook: BinderProxy.transact hook registered
    [ 2026-04-06T15:07:33.627    10276:  7076:  7076 I/VectorLegacyBridge ] MX: Installing SIM hooks -> 655021 (MCC=655, MNC=021, OP=Cape Town Metropolitan, Country=za)
    [ 2026-04-06T15:07:33.627    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Spoofing SIM Country -> South Africa (ZA)
    [ 2026-04-06T15:07:33.628    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Spoofing SIM Country Code -> za
    [ 2026-04-06T15:07:33.628    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Spoofing SIM Operator -> Cape Town Metropolitan
    [ 2026-04-06T15:07:33.630    10276:  7076:  7076 I/VectorLegacyBridge ] MX: TelephonyManager.getServiceProviderName skipped: android.telephony.TelephonyManager#getServiceProviderName()#exact
    [ 2026-04-06T15:07:33.631    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Spoofing Network Operator -> Cape Town Metropolitan
    [ 2026-04-06T15:07:33.632    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Spoofing MCC+MNC -> 655021
    [ 2026-04-06T15:07:33.633    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing SubscriptionManager & SubscriptionInfo hooks for dual-SIM devices
    [ 2026-04-06T15:07:33.636     1000:  1697:  4208 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10057
    [ 2026-04-06T15:07:33.639    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing createForSubscriptionId hook for per-SIM TelephonyManager
    [ 2026-04-06T15:07:33.640    10276:  7076:  7076 I/VectorLegacyBridge ] MX: getSimOperatorNameForSubscription hook skipped: android.telephony.TelephonyManager#getSimOperatorNameForSubscription(int)#exact
    [ 2026-04-06T15:07:33.640    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing extended SystemProperties hooks for vendor keys
    [ 2026-04-06T15:07:33.641    10276:  7076:  7076 I/VectorLegacyBridge ] MX: getSimOperatorForSubscription hook skipped: android.telephony.TelephonyManager#getSimOperatorForSubscription(int)#exact
    [ 2026-04-06T15:07:33.641    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing ServiceState hooks
    [ 2026-04-06T15:07:33.645    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing SimState hooks
    [ 2026-04-06T15:07:33.648    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing CarrierConfig hooks
    [ 2026-04-06T15:07:33.650    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing Operator Reality hooks (Voicemail/GID1)
    [ 2026-04-06T15:07:33.653    10276:  7076:  7076 I/VectorLegacyBridge ] MX: SimHook: Installing Line Number hooks -> 15009115557
    [ 2026-04-06T15:07:33.654    10276:  7076:  7076 I/VectorLegacyBridge ] MX: getLegacyLine1Number not found (expected on some android versions)
    [ 2026-04-06T15:07:33.676    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ConnectivityHook: Installing all VPN-hiding hooks
    [ 2026-04-06T15:07:33.684    10276:  7076:  7076 I/VectorLegacyBridge ] MX: WifiHook[API31+]: NetworkCapabilities.getTransportInfo() hook registered
    [ 2026-04-06T15:07:33.684    10276:  7076:  7076 I/VectorLegacyBridge ] MX: WifiHook[WifiManager]: getConnectionInfo() hook registered
    [ 2026-04-06T15:07:33.686    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked BluetoothAdapter.getBondedDevices()
    [ 2026-04-06T15:07:33.687    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked BluetoothAdapter.getName() -> motorola moto g 5G plus
    [ 2026-04-06T15:07:33.693    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked Settings.Global.getString() for DEVICE_NAME -> motorola moto g 5G plus
    [ 2026-04-06T15:07:33.698    10276:  7076:  7076 I/VectorLegacyBridge ] MX: Hooked Build.SERIAL -> z21piteqw9w7
    [ 2026-04-06T15:07:33.699    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked Build.getSerial() method
    [ 2026-04-06T15:07:33.703    10276:  7076:  7076 I/VectorLegacyBridge ] MX: MobileNumberHook: Spoofing SIM/phone number -> 15009115557
    [ 2026-04-06T15:07:33.703    10276:  7076:  7076 I/VectorLegacyBridge ] MX: Failed to patch SubscriptionInfo.mNumber: null receiver
    [ 2026-04-06T15:07:33.708    10276:  7076:  7076 I/VectorLegacyBridge ] MX: AppSetIdHook: AppSetIdInfo not in app classLoader — trying deferred
    [ 2026-04-06T15:07:33.711    10276:  7076:  7076 I/VectorLegacyBridge ] MX: AppSetIdHook: ClassLoader deferred hook registered
    [ 2026-04-06T15:07:33.727    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ GmailHook: spoofed to angeljackson0935@gmail.com
    [ 2026-04-06T15:07:33.735    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🌐 WebRtcHook: Initializing WebRTC IP leak prevention
    [ 2026-04-06T15:07:33.735    10276:  7076:  7076 I/VectorLegacyBridge ] MX: WebRtcHook: org.webrtc.PeerConnection not found (WebRTC not used by this app)
    [ 2026-04-06T15:07:33.736    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ InetAddress hooks installed
    [ 2026-04-06T15:07:33.737    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ NetworkInterface IP filtering installed
    [ 2026-04-06T15:07:33.737    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ WebRtcHook: All WebRTC hooks installed
    [ 2026-04-06T15:07:33.737    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔐 DnsHook: Initializing DNS leak prevention
    [ 2026-04-06T15:07:33.737    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ DNS system properties hooks installed
    [ 2026-04-06T15:07:33.739    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ LinkProperties DNS hooks installed
    [ 2026-04-06T15:07:33.740    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ DNS resolver hooks installed
    [ 2026-04-06T15:07:33.740    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ DnsHook: All DNS hooks installed
    [ 2026-04-06T15:07:33.772    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🧩 ProxyHook.hook() called | enabled=false
    [ 2026-04-06T15:07:33.773    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🟡 Proxy disabled — skipping all proxy hooks
    [ 2026-04-06T15:07:33.773    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔬 ISB: model=moto g 5G plus, hwSpecs=true, sensors=true, mag=mmc5603x
    [ 2026-04-06T15:07:33.781     1000:  1697:  2252 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10103
    [ 2026-04-06T15:07:33.793    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked installed apps list
    [ 2026-04-06T15:07:33.793    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 📡 ISBHook: Using Firebase sensor names: accel=lsm6ds3c, gyro=lsm6ds3c, mag=mmc5603x
    [ 2026-04-06T15:07:33.794    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Sensor.getName() hook installed → generic names
    [ 2026-04-06T15:07:33.795    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Sensor.getVendor() hook installed → Motorola
    [ 2026-04-06T15:07:33.797    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ getDefaultSensor() hook installed
    [ 2026-04-06T15:07:33.798    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked sensor fingerprinting (brand=motorola, vendor=Motorola)
    [ 2026-04-06T15:07:33.802    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Battery temp/voltage hooked → 27.8°C, 4102mV
    [ 2026-04-06T15:07:33.803    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ PowerProfile.getBatteryCapacity() hook installed → 505000mAh
    [ 2026-04-06T15:07:33.803    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Successfully hooked battery stats -> 505000mAh
    [ 2026-04-06T15:07:33.806    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Display hooked → 1082x2522 @418dpi 60Hz (entropy: w2 h2 d-2)
    [ 2026-04-06T15:07:33.808    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Device features hooked: nfc=true, fingerprint=true, wifi=true, touchscreen=true
    [ 2026-04-06T15:07:33.808    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ GPU clock hooked → 275 - 540 MHz
    [ 2026-04-06T15:07:33.809    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Audio hooked → aw882xx_smartpa (sample: 48000, buffer: vendor-matched)
    [ 2026-04-06T15:07:33.809    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ ISBHook: All 8 hooks applied successfully
    [ 2026-04-06T15:07:33.809    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ♿ AccessibilityHook: Initializing accessibility hiding
    [ 2026-04-06T15:07:33.811    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Settings.Secure accessibility hooks installed
    [ 2026-04-06T15:07:33.812    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ sendAccessibilityEvent → swallowed (no-op)
    [ 2026-04-06T15:07:33.814    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ AccessibilityManager hooks installed (isEnabled left untouched to avoid framework crash)
    [ 2026-04-06T15:07:33.814    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ AccessibilityHook: All hooks installed
    [ 2026-04-06T15:07:33.816    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🧠 CpuHook: Server → Snapdragon 765, 4GB RAM, 8 cores, family=Kryo-4xx-a76 Kryo-4xx-a76 Kryo-4xx-a55, clusters=1 x 2.30 GHz 1 x 2.21 GHz 6 x 1.80 GHz, clock=300 - 2304 MHz, rev=r15p14 r15p14 r13p14
    [ 2026-04-06T15:07:33.819    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ BufferedReader.readLine() hook installed for /proc file interception
    [ 2026-04-06T15:07:33.819    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ CpuHook: CPU=8 cores, RAM=4096MB, SoC=Snapdragon 765
    [ 2026-04-06T15:07:33.819    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ DisplayHook: Server → 1080x2520 @ 400dpi
    [ 2026-04-06T15:07:33.819    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ DisplayHook: 1080x2520 @ 400dpi | refresh=60.0Hz | density=2.5
    [ 2026-04-06T15:07:33.820    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🎮 GpuHook: Spoofing GPU → vendor=Qualcomm, renderer=Adreno (TM) 620, version=3.2 V@0502.0 (GIT@191610ae03, Ic907de5ed0, 1600323700) (Date:09/17/20)
    [ 2026-04-06T15:07:33.821    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ GpuHook: GLES20.glGetString() hooked
    [ 2026-04-06T15:07:33.822    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ GpuHook: GLES31 hook failed (likely not available): android.opengl.GLES31#glGetString(int)#exact
    [ 2026-04-06T15:07:33.823    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ GpuHook: EGL14.eglQueryString() hooked
    [ 2026-04-06T15:07:33.823    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ GpuHook: All GPU hooks installed
    [ 2026-04-06T15:07:33.826    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ InputDeviceHook: touch=synaptics_s3908 | descriptor=9215e22a9f7e...
    [ 2026-04-06T15:07:33.840    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ FingerprintJsHook: All SDK-level hooks applied | seed=2053011143
    [ 2026-04-06T15:07:33.841    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ InstallTimeHook: firstInstallTime/lastUpdateTime → 1775476798936
    [ 2026-04-06T15:07:33.843    10276:  7076:  7076 I/VectorLegacyBridge ] MX: newChooseAccountIntent (7-arg) hook skipped: android.accounts.AccountManager#newChooseAccountIntent(android.accounts.Account,java.util.ArrayList,java.lang.String[],java.lang.String,java.lang.String,java.lang.String[],android.os.Bundle)#exact
    [ 2026-04-06T15:07:33.843    10276:  7076:  7076 I/VectorLegacyBridge ] MX: newChooseAccountIntent (4-arg) hook skipped: android.accounts.AccountManager#newChooseAccountIntent(android.accounts.Account,java.util.ArrayList,java.lang.String[],java.lang.String)#exact
    [ 2026-04-06T15:07:33.844    10276:  7076:  7076 I/VectorLegacyBridge ] MX: GoogleSignIn hook skipped (SDK not present): java.lang.ClassNotFoundException: com$google$android$gms$auth$api$signin$GoogleSignIn
    [ 2026-04-06T15:07:33.844    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ AccountManagerHook: spoofedGmail=angeljackson0935@gmail.com
    [ 2026-04-06T15:07:33.853    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🔥 FirebaseIdHook: Spoofing FID → DaBNRGTwKX8N4ipBCe1d_o
    [ 2026-04-06T15:07:33.854    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ℹ️ FirebaseInstallations not found (app may not use Firebase): java.lang.ClassNotFoundException: com$google$firebase$installations$FirebaseInstallations
    [ 2026-04-06T15:07:33.854    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ℹ️ Legacy FirebaseInstanceId not found: java.lang.ClassNotFoundException: com$google$firebase$iid$FirebaseInstanceId
    [ 2026-04-06T15:07:33.854    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ℹ️ FirebaseAnalytics not found: com.google.firebase.analytics.FirebaseAnalytics#getAppInstanceId()#exact
    [ 2026-04-06T15:07:33.854    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ SecretIdHook: All Secret ID hooks installed
    [ 2026-04-06T15:07:33.855    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ UserAgentHook: Spoofing UA -> Mozilla/5.0 (Linux; Android 15; moto g 5G plus Build/QPNS30.37-Q3-42-51-4; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.39 Mobile Safari/537.36
    [ 2026-04-06T15:07:33.856    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Force-set System.setProperty(http.agent)
    [ 2026-04-06T15:07:33.856    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked WebView constructor (4-arg)
    [ 2026-04-06T15:07:33.857    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked WebView.getSettings() → auto-set UA
    [ 2026-04-06T15:07:33.858    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked WebView.loadUrl(String)
    [ 2026-04-06T15:07:33.859    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked WebView.loadUrl(String, Map)
    [ 2026-04-06T15:07:33.860    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked WebSettings.getDefaultUserAgent()
    [ 2026-04-06T15:07:33.861    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ HttpURLConnection UA hook failed: java.net.HttpURLConnection#getRequestProperty(java.lang.String)#exact
    [ 2026-04-06T15:07:33.861    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked URL.openConnection() → injecting spoofed UA
    [ 2026-04-06T15:07:33.861    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ UserAgentHook: All hooks installed
    [ 2026-04-06T15:07:33.862    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ Chrome: BuildInfo class not found (not a Chromium browser)
    [ 2026-04-06T15:07:33.862    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ Chrome: ContentViewStatics not found
    [ 2026-04-06T15:07:33.863    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ Firefox: HardwareUtils not found (not Firefox)
    [ 2026-04-06T15:07:33.864    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ LegitHook: Initializing 'Make Device Legit' hooks
    [ 2026-04-06T15:07:33.864    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ LegitHook: firstApi=29, kernel=4.19.125-perf+, buildId=QPNS30.37-Q3-42-51-4
    [ 2026-04-06T15:07:33.866    10276:  7076:  7076 I/VectorLegacyBridge ] MX: LegitHook: getInstallerPackageName hook failed (may not exist): Cannot hook abstract methods: public abstract java.lang.String android.content.pm.PackageManager.getInstallerPackageName(java.lang.String)
    [ 2026-04-06T15:07:33.867    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ LegitHook: getInstallSourceInfo hooked -> com.android.vending (API 30+)
    [ 2026-04-06T15:07:33.867    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ LegitHook: getenforce exec hook installed
    [ 2026-04-06T15:07:33.867    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ LegitHook: File.exists() root path hiding installed
    [ 2026-04-06T15:07:33.868    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ LegitHook: mock_location Settings.Secure hook installed
    [ 2026-04-06T15:07:33.868    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ LegitHook: registerReceiver RECEIVER_EXPORTED fix installed
    [ 2026-04-06T15:07:33.870    10276:  7076:  7076 I/VectorLegacyBridge ] MX: 🛡️ WebViewHook: GPU=Adreno (TM) 644 (Qualcomm) | Screen=1080x2520 | Cores=4 | RAM=4GB | Lang=en-US | Seed=2053011143
    [ 2026-04-06T15:07:33.872    10276:  7076:  7076 I/VectorLegacyBridge ] MX: LocaleHook: Spoofing Locale -> en_ZA (from South Africa (ZA))
    [ 2026-04-06T15:07:33.873    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Set Locale.default to en_ZA
    [ 2026-04-06T15:07:33.875    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⏱️ UptimeHook: offset = +11811s (3h) for profile d1114a4o1sejfh8bz3nt
    [ 2026-04-06T15:07:33.876    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ UptimeHook: elapsedRealtime() hooked
    [ 2026-04-06T15:07:33.877    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ UptimeHook: elapsedRealtimeNanos() hooked
    [ 2026-04-06T15:07:33.878    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ UptimeHook: uptimeMillis() hooked
    [ 2026-04-06T15:07:33.880    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ UptimeHook: /proc/uptime file interception installed
    [ 2026-04-06T15:07:33.880    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ UptimeHook: All hooks installed (offset=11811143ms)
    [ 2026-04-06T15:07:33.880    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ BugsnagHook: Failed to hook com.bugsnag.android.RootDetector: java.lang.ClassNotFoundException: com$bugsnag$android$RootDetector
    [ 2026-04-06T15:07:33.880    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ BugsnagHook: Failed to hook com.bugsnag.android.internal.RootDetector: java.lang.ClassNotFoundException: com$bugsnag$android$internal$RootDetector
    [ 2026-04-06T15:07:33.881    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ⚠️ SentryHook: Failed: java.lang.ClassNotFoundException: io$sentry$android$core$internal$util$RootChecker
    [ 2026-04-06T15:07:33.881    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ All hooks applied for com.logistics.rider.hungerstation (35 toggle states)
    [ 2026-04-06T15:07:33.885    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ Hooked Resources.getConfiguration -> en_ZA
    [ 2026-04-06T15:07:34.153    10276:  7076:  7233 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: getActiveNetworkInfo spoofed → MOBILE/LTE
    [ 2026-04-06T15:07:34.170    10276:  7076:  7274 I/VectorLegacyBridge ] MX: 🔒 ExecHook: Blocked exec([/system/xbin/which, su])
    [ 2026-04-06T15:07:34.172    10276:  7076:  7233 I/VectorLegacyBridge ] MX: Hooked TelephonyManager.getSimOperator -> 655021
    [ 2026-04-06T15:07:34.201    10276:  7076:  7287 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: getActiveNetworkInfo spoofed → MOBILE/LTE
    [ 2026-04-06T15:07:34.202    10276:  7076:  7287 I/VectorLegacyBridge ] MX: Hooked TelephonyManager.getSimOperator -> 655021
    [ 2026-04-06T15:07:34.346     1000:  1697:  4445 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10123
    [ 2026-04-06T15:07:35.029     1000:  1697:  4066 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10086
    [ 2026-04-06T15:07:35.115     1000:  1697:  1909 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10088
    [ 2026-04-06T15:07:35.154    10276:  7076:  7257 I/VectorLegacyBridge ] MX: Hooked ANDROID_ID via android.provider.Settings$Secure.getString -> 8e4c6df6012f195f
    [ 2026-04-06T15:07:35.217     1000:  1697:  2252 D/VectorZygiskBridge ] onTransact: action=GET_BINDER, callerUid=10106
    [ 2026-04-06T15:07:35.604    10276:  7076:  7255 I/VectorLegacyBridge ] MX: XposedEntry: handleLoadPackage → com.google.android.webview
    [ 2026-04-06T15:07:35.604    10276:  7076:  7255 I/VectorLegacyBridge ] MX: Dispatcher: pkg=com.google.android.webview SDK=35
    [ 2026-04-06T15:07:35.604    10276:  7076:  7255 I/VectorLegacyBridge ] MX: Using TmpFileExporter for com.google.android.webview
    [ 2026-04-06T15:07:35.609    10276:  7076:  7255 I/VectorLegacyBridge ] MX: TmpFileExporter: fast-read from /data/local/tmp/mantle_profiles.json (4 packages)
    [ 2026-04-06T15:07:35.609    10276:  7076:  7255 I/VectorLegacyBridge ] MX: TmpFileExporter: no bundle for com.google.android.webview
    [ 2026-04-06T15:07:35.750    10276:  7076:  7487 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: VPN transport stripped via bitmask (API-safe)
    [ 2026-04-06T15:07:35.916    10276:  7076:  7247 I/VectorLegacyBridge ] MX: 🔒 ExecHook: Blocked exec([which, su])
    [ 2026-04-06T15:07:36.140    10276:  7076:  7076 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: VPN transport stripped via bitmask (API-safe)
    ...
    [ 2026-04-06T15:07:39.468    10276:  7076:  7580 I/VectorLegacyBridge ] MX: Hooked getSimCountryIso -> za
    [ 2026-04-06T15:07:39.473    10276:  7076:  7580 I/VectorLegacyBridge ] MX: Hooked getNetworkCountryIso -> za
    [ 2026-04-06T15:07:39.473    10276:  7076:  7580 I/VectorLegacyBridge ] MX: Hooked TelephonyManager.getNetworkOperator -> 655021
    [ 2026-04-06T15:07:39.487    10276:  7076:  7580 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: VPN transport stripped via bitmask (API-safe)
    [ 2026-04-06T15:07:39.684    10276:  7076:  7580 I/VectorLegacyBridge ] MX: Hooked ANDROID_ID via android.provider.Settings$Secure.getString -> 8e4c6df6012f195f
    [ 2026-04-06T15:07:39.698    10276:  7076:  7580 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: getActiveNetworkInfo spoofed → MOBILE/LTE
    [ 2026-04-06T15:07:39.772    10276:  7076:  7580 I/VectorLegacyBridge ] MX: Hooked MediaDrm deviceUniqueId -> 996B94EF8CF84998FF04214743510EC82AC638FA
    [ 2026-04-06T15:07:39.991    10276:  7076:  7233 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: getActiveNetworkInfo spoofed → MOBILE/LTE
    [ 2026-04-06T15:07:39.991    10276:  7076:  7233 I/VectorLegacyBridge ] MX: Hooked TelephonyManager.getSimOperator -> 655021
    [ 2026-04-06T15:07:40.021    10276:  7076:  7252 E/AndroidRuntime  ] FATAL EXCEPTION: DefaultDispatcher-worker-9
    Process: com.logistics.rider.hungerstation, PID: 7076
    java.lang.RuntimeException: 52995300
    	at o.eVp.IconCompatParcelizer(SourceFile:1741)
    	at o.eVf.invokeSuspend(SourceFile:65351)
    	at o.gLC.resumeWith(SourceFile:65349)
    	at o.gRc.run(SourceFile:65349)
    	at o.aZT.run(SourceFile:65353)
    	at o.gWu.run(SourceFile:65353)
    	at o.gWn.run(SourceFile:65347)
    	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [gRX{Cancelling}@9001336, Dispatchers.IO]
    [ 2026-04-06T15:07:40.200    10276:  7076:  7233 I/VectorLegacyBridge ] MX: ✅ ConnectivityHook: getActiveNetworkInfo spoofed → MOBILE/LTE
    
  7. changed the title [-]​[Feature Request] Implement "Invalidate inline hooks" to prevent target app crashes[/-] [+]​[Feature Request] Implement "Invalidate inline hooks" to bypass detection points[/+] on Apr 7, 2026
  8. sujanf5 commented on Apr 17, 2026

    @sujanf5

    Same problem with some specific app like TextNow, DevCheck in Android 15 and 16 based roms

  9. xhdie commented on May 9, 2026

    @xhdie

    Some apps use digital encryption, so if you hook these apps, it won't work unless you use “Invalidate inline hooks”.So I think the feature is useful.Hopefully you'll add the feature.

  10. Hassinalhadi commented on May 9, 2026

    @Hassinalhadi
    Author

    ​I have been requesting this exact feature for two months now, and still zero progress. At this point, I honestly can't tell if the developer just lacks the technical skills to figure out how to implement it, or if it's just pure laziness. Either way, it's really frustrating.

  11. Dev4Mod commented on May 9, 2026

    @Dev4Mod

    ​I have been requesting this exact feature for two months now, and still zero progress. At this point, I honestly can't tell if the developer just lacks the technical skills to figure out how to implement it, or if it's just pure laziness. Either way, it's really frustrating.

    Are you paying him to do this? No, right? When he has time, he can look at it and implement it. He has his own life and it doesn't revolve around an open-source project. It's good to always remember that developers have lives too. You were very rude in that comment of yours.

  12. Hassinalhadi commented on May 9, 2026

    @Hassinalhadi
    Author

    ​I have been requesting this exact feature for two months now, and still zero progress. At this point, I honestly can't tell if the developer just lacks the technical skills to figure out how to implement it, or if it's just pure laziness. Either way, it's really frustrating.

    Are you paying him to do this? No, right? When he has time, he can look at it and implement it. He has his own life and it doesn't revolve around an open-source project. It's good to always remember that developers have lives too. You were very rude in that comment of yours.

    ​I understand how open-source works, and I fully respect the developer's time and personal life. My frustration doesn't come from the delay itself, but from the complete radio silence.
    ​Leaving a highly requested issue hanging for two months without even a simple "I'm busy right now" or "This is too complex to implement" is what led to my assumption. A quick 10-second reply to manage expectations would have prevented this entirely.
    ​If my wording was too harsh, I take that back. But as users, we just want basic communication, not magic overnight.

  13. JingMatrix commented on May 9, 2026

    @JingMatrix
    Owner

    This feature is certainly not of high priority of Vector.
    From a technical viewpoint, if you execute invalidate inline hooks for a module injected into the target app, then the module is only effective for a very short of time (till the chosen time we decide to invalidate in the actual implementation), and hooks won't be effective at all when you actually interact with the app.
    There does exist need for such short-time window modifications, and it is better implemented as a Zygisk module.

    @Hassinalhadi After all, from my undertanding of this context, you were simply testing if an app can detect Xposed injection, which is not a practical need for most users at all. Xposed detection for injected app is trivial.

    Current priority of Vector is UI refactoring, which I still struggle of finding time slots to do.

    P.S.: GitHub is a technical platform, not an after-sale service platform. A maintainer saying something I'm busy right now doesn't help to resolve any technical issues.

    We are in need of experienced developers for such highly technical projects. When my start-up is making actual profits, I will hire people to develop some of my projects.

  14. Hassinalhadi commented on May 9, 2026

    @Hassinalhadi
    Author

    This feature is certainly not of high priority of Vector. From a technical viewpoint, if you execute invalidate inline hooks for a module injected into the target app, then the module is only effective for a very short of time (till the chosen time we decide to invalidate in the actual implementation), and hooks won't be effective at all when you actually interact with the app. There does exist need for such short-time window modifications, and it is better implemented as a Zygisk module.

    @Hassinalhadi After all, from my undertanding of this context, you were simply testing if an app can detect Xposed injection, which is not a practical need for most users at all. Xposed detection for injected app is trivial.

    Current priority of Vector is UI refactoring, which I still struggle of finding time slots to do.

    P.S.: GitHub is a technical platform, not an after-sale service platform. A maintainer saying something I'm busy right now doesn't help to resolve any technical issues.

    We are in need of experienced developers for such highly technical projects. When my start-up is making actual profits, I will hire people to develop some of my projects.

    Thank you for taking the time to provide this detailed technical explanation. I appreciate you breaking down the limitations of invalidating inline hooks and explaining why a Zygisk module would be a more practical approach for this.
    ​For context, my goal wasn't just trivial testing, but rather dealing with highly aggressive root and hook detections in certain restricted apps. However, I completely understand your reasoning and why this doesn't fit Vector's current priorities.
    ​I also accept your point about GitHub being a technical platform rather than a customer service desk. Point taken.
    ​I will look into the Zygisk route for my specific needs. Good luck with the UI refactoring, and I genuinely wish you the best of luck with your startup!

  15. marked invalidate inline hook #734 as a duplicate of this issue on May 27, 2026
  16. bartasc4 commented on Oct 17, 2026

    @bartasc4

    Following #921, I opened #1013 with a central application list as an alternative. I understand the earlier preference for the application's drawer on a module's scope page. Since the underlying setting is already shared across modules, that placement may suggest independent per-module choices. If the behavior were actually module-specific, I would keep the control there and would not propose a central list.

    The PR retains the existing cleanup implementation and documents its validation and compatibility limits.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions