Touch recording (replay) overhauled: no 10-op cap, up to 10 fingers, the screen stays live while recording, on-screen pause + movable stop/pause buttons, and a step editor; Tap/Swipe 'Random' mode; MH-AI approved agent elevated to top-tier; no-code infinite-loop and Find & Replace fixes; comprehensive audit + stability/security maintenance
v1.0.36
Bundled fallback7/6/2026
No-code (visual) macros: when a block's settings are invalid, the macro no longer silently runs an empty script and shows a generic 'not found' error - it now stops cleanly with a clear 'couldn't generate macro code' message, and a running macro's context is never overwritten by a broken one.
Admin panel: when an admin's access is revoked remotely (account deletion / deactivation), the UI now detects it within ~5 minutes instead of up to ~1 hour. Security is unchanged - the server already re-checks authority on every action; this only shortens the UI lag.
Notifications: fixed a rare duplicate send of scheduled push notifications that could occur when the send succeeded but the final 'sent' write failed (a transactional dispatch stamp now makes delivery at-most-once).
Storage and stability maintenance: trash (soft-delete) cleanup throughput was raised, and security/drift checks were hardened - a CSP inline-script hash freshness gate was added and the native runtime lock-ordering invariant was documented.
Login screen: signing in with Google now shows an animated waiting spinner and a dimmed button; previously, on slow networks, the screen looked frozen and users thought the app was broken. Sign-in (credential + Firebase verification) can take a few seconds, and the user now clearly sees it is in progress. If the user cancels sign-in, no failure warning is shown.
Additional hardening (security audit round 3): an imported macro can no longer be crafted to reach files outside the app's own folder (path-traversal guard), and a corrupt or hostile import file can no longer crash the app; also a malformed multi-swipe step now skips only the bad swipe instead of aborting the whole run.
Upgrade & data reliability (audit round 4): after an app update, macros now regenerate their runtime code on the new version instead of running stale cached bytecode from the old version, preventing post-update 'macro broke' logic errors. Also, template, shared-library, and guide files are now written atomically (temp file then swap), so a kill mid-write can no longer leave a half-written or corrupt file.
Stability & freeze protection (audit round 5): a user-entered text pattern (regex) can no longer freeze macro execution or dialog-field validation - heavy patterns are now bounded by a timeout; an invalid color code no longer crashes the app; and an unused legacy gallery-crop code path that risked high-resolution memory pressure was removed.
Screen-capture recovery: if screen-capture permission drops while a macro is running (another app takes it, the system stops the service, a single-use grant expires), the control panel now warns you on screen and routes you to re-grant it instead of silently ignoring it. This surfaces the real cause behind 'the image block can't find an image that's clearly on screen' - an empty/dropped screen frame - instead of hiding it as a generic 'not found'.
Image block cross-resolution fix: templates are stored at the macro's capture-time resolution; when the screen resolution differs (e.g. a template captured at 720p searched on a 1080p screen), the match score was artificially capped and strict thresholds (e.g. 0.98) could never pass - 'the image is in the area but is never found'. The search now first downscales the search region back to the template's source resolution and matches there (measured: 0.94 -> 0.98+ on the same frame), keeping the previous method as an unchanged fallback. Also, saving degenerate templates smaller than 8x8 px is now rejected with a clear message, and a rate-limited diagnostic line is logged for 'not found' cases.
In-app community surfaces fix: found the root cause of forum topics visible on the web but never loading in-app ('An error occurred') - forum/public-macro/sharing server calls enforced a device attestation (Play Integrity App Check) that the emulator and cloud-phone base cannot pass; as already done for premium, the attestation requirement was removed on these surfaces (sign-in + rate limits + server-side checks remain; moderator/admin actions stay strict). Also: a report-quarantined public macro now drops from the listing immediately (up to 45s of stale visibility removed); a malformed imported flow JSON now skips the bad element instead of aborting the step; and the no-code workspace window no longer goes invisible/unresponsive when the accessibility service briefly drops during gameplay.
Touch recording (replay) was overhauled: recording is no longer capped at 10 operations and now captures multi-finger gestures with up to 10 fingers at once. During recording an on-screen 'Pause' button lets you pause and resume without ending the recording, and both the Stop and Pause buttons can be dragged to reposition them on screen so they do not cover the area you are recording.
While recording is active the screen now stays live and responsive: you can use the phone normally as you record, and your taps actually work while they are captured at the same time (via direct touch pass-through on Android 14 and newer). Previously the recording layer could swallow touches and make the app look unresponsive.
Editing a recorded replay: from the editor next to 'Split into blocks' you can now change each step's coordinates and timing and reorder the steps; on multi-finger recordings the step order is kept consistent with the real touch timing.
Tap (multi-touch) and Swipe blocks gained a 'Random' mode: on each pass one of the taps/swipes you defined is chosen at random and performed, so automation looks less predictable and more human-like.
Find & Replace in the no-code workspace no longer corrupts specially-structured blocks such as MH Visual Decision: a replacement is applied only to the relevant real fields (for example the confidence/answer variables) and the block's internal configuration (raw system fields) is preserved.
MH-AI approved-agent communication was elevated to a top-tier register: replies are no longer scripted or robotic; length is matched to the depth of your question, the agent is grounded in device and app context, the ceiling for longer reasoning and more tool steps was raised, and an approval decision no longer waits forever (a timeout was added).
No-code 'infinite loop' fix: a macro whose last block is a Group Call (or that contains a group call) now restarts from the top when the loop completes. Previously an internal recursion-depth guard could silently stop the whole macro instead of looping back (the root cause behind 'after a group loops 110 times it never returns to the start').
Bitmap memory optimization (Google Play technical-quality advisory): forum and public-macro avatars and macro thumbnails are now decoded subsampled straight to their on-screen display size instead of allocating the full-resolution bitmap, and all image decoding flows through one centralized, bounded decoder (network image bytes still travel only through the existing security-vetted connection; no heavyweight third-party image library was added). Long community lists use far less memory with less jank and out-of-memory risk.
Stability: forum author-avatar decoding was moved fully off the UI thread (smoother scrolling), and a rare crash where an avatar network response returning after the screen went to the background could hit a destroyed view lifecycle was fixed.
1.0.36 release notes are synced across the in-app changelog, the web changelog source, and the Google Play texts.