| release CI: write packages to RUNNER_TEMP so git clean cannot delete them The macOS build step's `git clean -fdx` was removing the Asspp.ipa produced by the iOS step, failing the upload. Build both artifacts outside the working tree. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> | 2 months ago |
| Add Fable 5 verified badge | 2 months ago |
| Update project.pbxproj | 2 months ago |
| Bump ApplePackage to 1.2.7 and harden review findings Updates the ApplePackage dependency to 1.2.7 (auth endpoint move + 5002 redownload fallback) and bumps the marketing version to 4.1.2. EntityType gained an .appleTV case in 1.2.7; handle it in the search type icon mapping so the project compiles. Fixes surfaced by a code-clarity / data-integrity / performance review: Data integrity - FileStorage writes are now atomic so a crash mid-write cannot truncate persisted state into an undecodable blob. - Persist backs up undecodable stored data to <key>.corrupt before falling back to the default, instead of silently overwriting accounts/downloads. - Persist encodes on the mutating thread and serializes writes, removing a reference-type encode race and out-of-order persistence. - AppStore.withAccount re-resolves the account index by id after the await so a concurrent mutation cannot cause a wrong-account overwrite or crash. - Download resume no longer stacks duplicate Digger callbacks across a pause/resume cycle, which previously ran finalize() twice. Performance - runningTaskCount is a stored counter refreshed on status transitions, so download progress ticks no longer re-render the whole TabView. - Launch no longer blocks on recursive Documents scans or hostName warm-up. - LogManager caps retained history and reuses one date formatter. - Artwork is downsampled to the cell size; version history is built lazily; the file list precomputes its search index. Clarity - PackageManifest init throws on an invalid download URL instead of force unwrapping; identity hashing uses the immutable id only. - Fixed the unreachable version-history error alert and the write-only search error state so failures are visible. - Centralized device-id save and license acquisition; standardized unknown-region placeholders; removed dead code and unused imports. Verified: macOS and iOS builds succeed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> | 2 months ago |
| macOS: menu shortcuts + toolbar update (#59) * fix: disambiguate blendMode on LinearGradient with Xcode 27 Xcode 27 is confused. Fill a Rectangle with the gradient so `.blendMode` resolves to the View modifier. Rendering is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * macOS: menu commands for shortcuts, search focus, tabbing & help Add a macOS menu command set driven via a focused scene value, so the items target the focused window: - ⌘F jumps to Search and focuses the search field. The focus request is a one-shot flag consumed by SearchView on appear or change, so it survives the view being recreated when switching sidebar sections. - ⌘, jumps to Settings via the standard app-settings menu slot. - Disable automatic window tabbing to remove the "Show Tab Bar" and "Show All Tabs" items from the View menu. - Replace the Help menu item so it opens the project's GitHub page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * macOS: update split column width * Update toolbar buttons --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 2 months ago |
| Reorganize Xcode project and clean up code Update project structure and apply small Swift formatting/cleanup across the codebase. In the Xcode project: bump objectVersion, add a Certificates group (move certificate files to Certificates/...), introduce a Configuration root group and anchor base config references to it, remove the Run SwiftFormat build phase, and adjust file-system-synchronized groups and resource references. In Swift sources: apply minor formatting changes (expand single-line computed properties to multi-line), simplify some returns in DeviceCTL, streamline Installer's file streaming path and add a clarifying doc comment, fix UIApplication key-window lookup, convert a block comment to a doc comment, and other small API-cleanups. These are non-functional (style/organization) changes except for a few minor control-flow simplifications. | 7 months ago |
| macOS: fix `LD_RUNPATH_SEARCH_PATHS` (#61) | 1 month ago |
| Add security notice and warnings to README Add a new “Special Notice” section to the main README and the Simplified Chinese README (Resources/i18n/zh-Hans/README.md). The section explains that Asspp uses an ipatool-like protocol, outlines possible causes for past protocol outages, warns the protocol may become unusable and the project may not be able to fix future breakages, and adds important security guidance to protect device GUIDs and avoid using a primary Apple ID. | 6 months ago |
| Remove SwiftFormat, relocate docs, and reformat project files - Delete .swiftformat config and BuildTools/ package (SwiftFormat dependency) - Move docs/ to Resources/Document/ with refined English content - Update Debug.xcconfig, .gitignore, and AGENTS.md to drop SwiftFormat refs - Reformat markdown, YAML, JSON, and shell scripts via prettier and shfmt Co-authored-by: Cursor <cursoragent@cursor.com> | 6 months ago |
| ApplePackage: add bag/pod support, logging & tests Add ApplePackage submodule and enhance networking, logging, and testing support. Introduces Bag.fetchBag to resolve auth endpoints (pod-aware), propagates pod through Account, and updates request hosts via Configuration.storeAPIHost/purchaseAPIHost. Adds APLogger for request/response logging and centralizes user-facing strings (replacing many literals with Strings.*). Adds CI workflow, test runner script, numerous unit/network/integration tests, test-env example, and .gitignore entries. Removes Package.resolved and updates README/AGENTS with acknowledgments and build instructions. | 6 months ago |
| Update AGENTS.md docs and bump version Revise AGENTS.md to clarify project details and workflows: note CLAUDE.md symlink, emphasize SPM/workspace usage, pipe xcodebuild through xcbeautify in build commands, add app entry-point notes, update backend/interface/key-patterns/dependency lists and Swift style guidelines. Also update TLS cert path, download persistence location, and localization details. Bump MARKETING_VERSION to 4.0.1 in Configuration/Version.xcconfig. | 6 months ago |
| ApplePackage: add bag/pod support, logging & tests Add ApplePackage submodule and enhance networking, logging, and testing support. Introduces Bag.fetchBag to resolve auth endpoints (pod-aware), propagates pod through Account, and updates request hosts via Configuration.storeAPIHost/purchaseAPIHost. Adds APLogger for request/response logging and centralizes user-facing strings (replacing many literals with Strings.*). Adds CI workflow, test runner script, numerous unit/network/integration tests, test-env example, and .gitignore entries. Removes Package.resolved and updates README/AGENTS with acknowledgments and build instructions. | 6 months ago |
| Update README & Replace License | 11 months ago |
| Add Fable 5 verified badge | 2 months ago |