Phase 3 — Bridge: design + foundation + platform + resources (0.0.10-alpha01)
Summary
Lands Phase 3 of the yalla-sdk v1.0 launch initiative. Covers the four Bridge modules (design, foundation, platform, resources) plus two cross-cutting deliverables (publish-gate, iOS visual-regression scaffold).
Version bump: 0.0.9-alpha01 → 0.0.10-alpha01.
ADRs
-
ADR-013:
LocationManagercaller-ownedCoroutineScope(breaking) -
ADR-014:
LanguageOption/LocaleKindnarrowed toUz+Ru(breaking) -
ADR-015a:
NativeSheet.onFullyExpandedsemantics locked (KDoc only) -
ADR-015b:
SystemBarColorsconsolidated to singleBooleanoverload (breaking) -
ADR-015c:
ObserveSmsCodemoved toandroidMain-only (breaking) -
ADR-015d:
PlatformConfigasymmetry documented as accepted -
ADR-016:
publish.ymlgates onapiCheck+allTests
Lockstep
YallaClient branch chore/sdk-phase3-bridge prepped (single LocationManager constructor migration). Lands after this PR merges and CI publishes 0.0.10-alpha01.
Changes beyond the ADRs
- Font KDoc +
FontSchemeequality test (design) -
LocationServicesAndroid Koin error surface + iOSopen(url:options:)(foundation) - Foundation tests: LocationManager lifecycle, ChangeLanguage smoke
- Platform tests: behavioral coverage for 8 of 13 expect/actual pairs, 11 compile-verify TODOs for composable pairs (Phase 4 wires Compose UI harness)
-
resources/values-uz/strings.xml(Uzbek Latin, 268 keys deterministic transliteration; Islom-review recommended) -
values-be/→values-uz-Cyrl/rename BLOCKED by Compose Resources 1.10.0 (rejects 4-letterCyrlscript qualifier); content clarified inMODULE.md, rename tracked as follow-up -
iosTests/SPM scaffold with swift-snapshot-testing 1.19.2 - Root
build.gradle.ktsdetekt task wired to per-source-set variants + ktlint generator-dep hook
Pre-1.0 mode
Full-risk: no @Deprecated, no @RequiresOptIn. All breaking changes land directly.