Keep-alive for any app:
- On TXM devices (iOS 26+), keep-alive now falls back to the bundled universal
JIT script for apps with no assigned/name-matched script. Previously only known
apps got a script callback, so a generic app's JIT brk syscalls went unserviced
and the app hung / was killed in the background — the reason keep-alive "didn't
work for any app". The fallback is read straight from the app bundle so the
current, cancellation-aware script is always used.
- Stopping a hold now reliably stops the script loop: the hold and its JIT script
share one cancellation token, exposed to JS as should_continue() and honored by
send_command(). universal.js checks should_continue() each iteration. On stop we
interrupt + detach so the held app keeps running instead of being torn down. The
cancellation flag is only read from the script's own thread, so there is no
unsafe concurrent access to the (non-thread-safe) debug proxy.
Banner from the "Other" tab:
- Selecting an app in the "Other" (launch) tab while keep-alive is enabled now
holds it in the background and shows the banner, instead of silently launching
without a debugger. The launch rows show a green "Hold" action and a footer note
in this mode.
Dynamic Island / Live Activity:
- New StikDebugWidgets widget-extension target hosting a keep-alive Live Activity,
with compact/expanded/minimal Dynamic Island presentations and a Lock Screen
view. Shared KeepAliveActivityAttributes lives in a StikDebugShared group used by
both the app and the extension.
- BackgroundAliveManager starts the activity when a hold begins and ends it when
the hold stops; stale activities from a previous run are cleared at launch.
- Added NSSupportsLiveActivities to the app Info.plist.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EpCxAimrBo9RA8v6BxSEXT
* Change default UPLOAD_IPA value to 'false'
* Part 1 of the great debloat
* Remove Mini Tools, adopt native alerts in StikJITApp, and update HomeView UI
* Refactor views to use native SwiftUI alerts instead of CustomErrorView
* Update ProfileView to use minimal List UI style with native alerts
* Fix up homeview
* Squash: Redesign HomeView, remove Feature Flags, enable all tabs, refactor alerts, and updates
- Redesign HomeView to a simpler style with 'Enable JIT' action.
- Remove 'Help & Info' and 'Quick Launch' from Home.
- Fix DDI false positive by starting heartbeat on HomeView appear.
- Restore robust DDI checks and update app name to 'StikDebug'.
- Remove FeatureFlags and Beta tags; enable 'profiles', 'processes', 'location' tabs by default.
- Remove 'Devices' tab; add 'Target Device IP' field in Settings.
- Hardcode 'Settings' tab to 4th position.
- Refactor 'SettingsView' tab customization to be reorder-only.
- Remove 'Appearance' theme section from Settings.
- Refactor custom error cards to use native SwiftUI/UIKit alerts across the app (HomeView, ConsoleLogsView, ProfileView, etc).
- Restore JS callback support and script execution logic in HomeView.
- Add necessary Color extensions.
- Update project version to 3.0.0.
* Clean up: Remove In-App Purchases, update checker, and unused IPA installer code
* delete more bloat
* fix build issue
* Remove widget to save on App IDs
* Attempt heartbeat restart when Enable JIT button is pressed
* Get rid of PIP
* Update Tab Naming
* remove more bloat
* final changes for today
* Remove unused packages
* UX Improvements
* revert bundle id
* Update README.md
* remove old idevice
* add updated idevice
* Fix ddi false positive errors and add templates for GitHub stuff
* Remove more unused stuff.
* Fix links and update README content
* Update compatibility table in README.md
* Improve performance of console logs
* Remove old code
* Change default UPLOAD_IPA value to 'true'
* remove the welcome sheet
* import support for .mobiledevicepair
* Add back LC JIT stuff
* Fix heartbeat issues with LC JIT
* update the build yml for nightly stuff
* Update README.md
* Update README.md
* Update GitHub Actions workflow for IPA build
* Update GitHub Actions workflow for nightly builds
* Add URL scheme to kill tasks stikjit://kill-process?pid=1234
* fix build issues
* Added App Intents
* Unify the error handling style across the app
Eliminates all continued background processing logic and related settings, including the ContinuedProcessingManager and its usage. Adds Picture in Picture (PiP) support for script execution using the Pipify package, updates settings and UI to reflect PiP instead of continued processing, and refactors related code paths to use PiP for script execution feedback.