mirror of
https://github.com/FluxaMedia/fluxa.git
synced 2026-08-07 17:19:53 +00:00
Fixes AppleAuthDataSource: continueWithNuvio/continueWithStremio/ continueWithoutAccount were incorrectly routed through Swift notifications - Android handles all three as pure local UI-state transitions (no network), so this matches that instead of adding unnecessary indirection. submit() for the Credentials stage now posts a real request that FluxaAppleAuthStartup.swift picks up: FluxaAppleStremioAuthClient mirrors StremioService.kt's api.strem.io/api/login and /api/register endpoints via URLSession, and the resulting session (id/email/authKey) is persisted through FluxaAppleAuthStore using the Keychain generic- password API (kSecClassGenericPassword, accessible-after-first-unlock), not UserDefaults - this is the first credential-bearing data iOS persists, unlike the existing UserDefaults-backed local stores. Nuvio login/import is out of scope here: Android's version pulls profile/addons/library/progress/history/collections through NuvioAccountImportCoordinator, which needs library and addon-store integration iOS doesn't have yet. The Nuvio stage transition works (continueWithNuvio), but submitting Nuvio credentials currently has no Swift listener - same "reachable but inert" scope already established for AddonStore. The error-state message on failed Stremio login is a hardcoded English string rather than routed through AppStrings, since calling Kotlin's AppStrings.t() from pure Swift needs framework-export verification I can't perform without Xcode. Caveat: this Swift code (Keychain access, URLSession networking) is unverified - no Xcode/macOS toolchain available in this environment. Only the Kotlin side (AppleAuthDataSource, all Gradle targets) is compile-checked. Needs a real Xcode build and device/simulator test before shipping. |
||
|---|---|---|
| .. | ||
| AppleCore | ||
| Generated | ||
| iOS | ||
| scripts | ||
| Shared | ||
| tvOS | ||
| .gitignore | ||
| project.yml | ||
| README.md | ||
Apple hosts
FluxaIos is a SwiftUI host for the Compose Multiplatform FluxaShared framework. FluxaTvos is a native SwiftUI host backed by the Kotlin Multiplatform FluxaCore framework.
On macOS, install XcodeGen and generate the project:
cd appleApp
xcodegen generate
open FluxaApple.xcodeproj
The Xcode build phase invokes Gradle with the active Xcode SDK and architecture, then embeds the matching framework. Both targets bundle the shared English and Turkish i18n files from core/src/androidMain/assets/i18n.