Skip to content

beta 0.4

Pre-release
Pre-release

Choose a tag to compare

@xmiguel911x xmiguel911x released this 23 Aug 11:08
· 2 commits to main since this release
6f56d93

beta 0.4

Two reports from people running the app in ways I do not: JIT that the system had
already granted was being thrown away, and the bundle was missing keys that every
iOS app carries.

JIT

  • JIT that was already granted is no longer discarded. Setting up the JIT
    ground asks the attached debugger to register each chunk of executable memory,
    and any chunk it did not register aborted the whole thing. But the registration
    call also reports failure when no debugger is attached at all — which is the
    normal state for two of the three ways this app gets JIT. LiveContainer grants
    it by attaching a debugger that then detaches, and TrollStore grants it through
    an entitlement with no debugger ever involved. In both cases the permission is
    real and the memory works; there is simply nobody left to notify. The app was
    throwing that away and falling back to the interpreter, while telling the user
    "JIT unavailable" on a device where JIT was working. It now measures instead of
    inferring: with no debugger present it writes a minimal function through the
    write alias and calls it through the executable view, under a signal guard so
    that a refusal degrades instead of taking the process down. If it runs, there is
    JIT. The path with a debugger attached is unchanged, and a registration failure
    there is still fatal.
  • Attaching JIT after the app is open now works. The ground was probed once
    per session, so the first answer was cached for good. Under LiveContainer the
    natural order is to open the app and enable JIT afterwards, which meant the
    answer being cached was always "no" — and nothing the user did could change it
    short of relaunching. The status pill re-measures now, and it also refreshes
    when you return to the app, which is exactly the moment the permission has just
    been granted somewhere else.