mirror of
https://github.com/AventurasTeam/Aventuras.git
synced 2026-10-19 17:43:26 +00:00
**Summary** Follow-up to the iOS build target (#541). It fixes problems found while running the build on real iOS/iPadOS WebViews, and it adds the missing app icon step. Every behavioural change is behind `isIos()` or lives in an iOS-only file, so other platforms take the same code path as before. **Changes** *Platform detection and restore* - **iPadOS detection:** an iPad's WKWebView reports a Mac user agent by default, so `isIos()` and `isMobileDevice()` missed it. The update check took the desktop path and open dialogs kept filters iOS can't map. A Mac UA with `maxTouchPoints > 1` now counts as iOS, with tests in `platform.test.ts`. - **Backup restore:** the iOS file picker returns a `file://` URL that the native restore can't `std::fs`-open. iOS now stages it through `import_saf_to_temp`, as Android does. - **Restore exit:** the restore flow shows a toast and waits before `exit(0)`, so quitting doesn't look like a crash. *Config and build* - **Updater string:** the updater text now mentions iOS. - **iOS config:** new `src-tauri/tauri.ios.conf.json` sets `minimumSystemVersion` to 16.4, the frontend's WebKit floor for Tailwind v4 `@property`, cascade layers and `color-mix()`. It also empties `build.features`, so `tauri ios dev` no longer needs the manual `--config` workaround. - **App icon:** `tauri ios init` fills the Xcode AppIcon set with the Tauri placeholder. `scripts/sync-ios-icons.sh` copies `src-tauri/icons/ios` over it and fails if the catalog names an icon the Aventuras set lacks. `build-ios-unsigned.sh` and `bootstrap-ios.yml` both run it. *UI and services* - **Update dialog:** on iOS the dialog points to a sideloading tool (AltStore, Sideloadly or TrollStore), since the `.ipa` is unsigned and Safari can only save it. - **TTS volume:** `HTMLMediaElement.volume` is a no-op on iOS. The settings now note this and disable the volume override switch and slider there. - **ComfyUI:** WKWebView's App Transport Security can silently block raw `fetch()` to a ComfyUI host outside the local-network exception. - `fetchModelList` now uses Tauri's HTTP plugin on iOS and forwards `timeoutMs`. - The SDK's `fetchApi()` (checkpoints, samplers, prompt queueing, image retrieval) is patched on the instance, iOS only, to use the same plugin. *Docs* - `docs/development/ios-build-target.md` and `docs/development/release.md` are updated. That includes the new config file and corrections to two stale claims. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Improved iOS Support** * Backup restoration supports selected files and displays completion instructions before the app closes or prompts you to restart. * Image generation connections are more reliable. * Update instructions explain how to install iOS downloads with a sideloading tool. * Volume controls are unavailable with an explanatory notice when the selected provider does not support them on iOS. * iOS app builds require iOS 16.4 or later and include synchronized app icons. * **Bug Fixes** * Improved iPad recognition, including iPadOS devices that identify as Mac computers. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ci | ||
| android-setup.sh | ||
| build-ios-unsigned.sh | ||
| check_migrations.js | ||
| check_wry_injection.js | ||
| fake-provider.mjs | ||
| package-manager.js | ||
| package-manager.test.js | ||
| pm.js | ||
| release.js | ||
| remote.js | ||
| remote.test.js | ||
| sync-ios-icons.sh | ||
| version.js | ||
| version.test.js | ||