fluxa/appleApp/AppleCore
KhooLy 909906fab3 Build real Stremio login for iOS Auth, Keychain-backed session storage
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.
2026-07-14 13:56:30 +03:00
..
FluxaAppleAddonCatalogResolver.swift Add shared Apple search flow 2026-07-13 17:39:50 +03:00
FluxaAppleAddonResourceLoader.swift Add Apple detail metadata effect 2026-07-13 16:14:58 +03:00
FluxaAppleAuthStore.swift Build real Stremio login for iOS Auth, Keychain-backed session storage 2026-07-14 13:56:30 +03:00
FluxaAppleCatalogLoader.swift Add shared Apple search flow 2026-07-13 17:39:50 +03:00
FluxaAppleHeadlessCoordinator.swift Route Apple home loading through headless effects 2026-07-13 16:05:18 +03:00
FluxaAppleHeadlessRuntime.swift Silence Apple runtime teardown warning 2026-07-13 16:10:42 +03:00
FluxaApplePlatformEffectExecutor.swift Add Apple platform effect executor 2026-07-13 15:50:42 +03:00
FluxaAppleStremioAuthClient.swift Build real Stremio login for iOS Auth, Keychain-backed session storage 2026-07-14 13:56:30 +03:00