-
Notifications
You must be signed in to change notification settings - Fork 0
hmm #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Added conditional upload and release for IPA based on UPLOAD_IPA environment variable.
Introduces DeviceLibraryStore and DeviceConnectionContext to manage external device profiles and connections. Updates app logic to support switching between local loopback VPN and direct external device connections, including UI for device management and improved connection handling throughout the app.
* added italian localization.
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.
Integrated Picture-in-Picture (PiP) functionality using Pipify to display simulation status and coordinates during location spoofing. Added LocationSpoofingPiPState and LocationSpoofingPiPView to manage and present PiP state. Updated simulation logic to record and update PiP events, and handle PiP session dismissal on simulation end or failure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces significant new functionality for StikDebug, focusing on external device support, enhanced theme customization, and improved JIT script handling. The changes enable users to connect to remote iOS devices over the network while maintaining backward compatibility with local loopback debugging.
Key changes:
- Adds a Device Library system for managing external iOS devices with their own pairing files
- Implements Picture-in-Picture (PiP) support for script execution monitoring and location spoofing
- Introduces new JIT automation scripts for various emulators (Manic EMU, MeloNX, UTM, DolphiniOS, Amethyst)
- Enhances theme system with improved previews and custom theme support
- Removes the BGContinuedProcessingTask implementation in favor of PiP
- Refactors CMS decoding to use simple pattern matching instead of Security framework APIs
Reviewed changes
Copilot reviewed 36 out of 41 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| StikJIT/manic.js | New JIT script for Manic EMU with infinite loop mode for dynamic JIT regions |
| StikJIT/maciOS.js | New JIT script for maciOS emulator |
| StikJIT/MeloNX.js, UTM-Dolphin.js, Amethyst.js | New JIT automation scripts for various emulators |
| StikJIT/Views/DeviceLibraryView.swift | New device management UI for external devices |
| StikJIT/Utilities/DeviceLibraryStore.swift | Device profile storage and activation logic |
| StikJIT/Utilities/DeviceConnectionContext.swift | Centralized device connection state management |
| StikJIT/Views/HomeView.swift | Updated to support external devices and improved script handling |
| StikJIT/Views/SettingsView.swift | Removed continued processing toggle, added PiP toggle |
| StikJIT/Views/MapSelectionView.swift | Added PiP support for location spoofing |
| StikJIT/Views/DisplayView.swift | Enhanced theme preview system with UIKit-based rendering |
| StikJIT/idevice/profiles.m | Refactored CMS decoding to use pattern matching |
| StikJIT/idevice/jit.c, jit.h | Added RemoteServerHandle parameter for screenshot support |
| StikJIT/JSSupport/RunJSView.swift | Added screenshot capture API and PiP view |
| StikJIT/Utilities/FeatureFlags.swift | Added feature flags for beta tabs and theme expansion |
| StikJIT/Info.plist | Updated for network access and removed background processing |
| StikJIT/it.lproj/Localizable.strings | Added Italian localization |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 17C744EE2E20BED000834F17 /* XCRemoteSwiftPackageReference "swiftui-pipify" */ = { | ||
| isa = XCRemoteSwiftPackageReference; | ||
| repositoryURL = "https://github.com/hugeBlack/swiftui-pipify"; | ||
| requirement = { | ||
| branch = main; | ||
| kind = branch; | ||
| }; |
Copilot
AI
Dec 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The swiftui-pipify Swift Package is referenced using a mutable branch (branch = main) instead of an immutable version tag or commit hash, which creates a supply chain risk: any compromise or force-push on that branch could silently change the code that gets built into your app. An attacker who gains control of the GitHub repository or the dependency’s distribution path could inject malicious code that runs with your app’s privileges (including access to network and any in-app secrets). Pin this dependency to a specific, vetted version or commit SHA and update it only through intentional dependency bumps to limit the impact of a compromised upstream.
No description provided.