Commit graph

2 commits

Author SHA1 Message Date
KhooLy
81b9f148b2 Stand up Room-on-desktop and share WatchlistManager
Moves AppDatabase/WatchlistDao/WatchlistEntities into commonMain using
Room 2.8.4's multiplatform pattern (@ConstructedBy/RoomDatabaseConstructor,
KSP-generated actuals) with zero schema/version changes, so the Android
on-device database is unaffected. Wires Room's KSP compiler for desktop and
the native targets (kspDesktop, kspIosSimulatorArm64, kspTvosArm64, etc.),
alongside the existing kspAndroid. Adds a desktop AppDatabase factory backed
by androidx.sqlite's BundledSQLiteDriver, storing the file under
~/.fluxa/watchlist_db.

Drops room-ktx from the shared source sets (it transitively pulls in
kotlinx-coroutines-android, which has no native/JVM variant and broke the
iOS/tvOS build) - room-runtime alone already carries Room's Flow/coroutines
support since 2.4+. Replaces java.lang.System.currentTimeMillis() defaults in
the entity classes with the existing portable epochMillisNow() (same one
PlatformClock already uses), since java.lang.System doesn't exist on
Kotlin/Native.

WatchlistManager itself had zero non-Room Android surface once its two dead
imports (unused Context/Room) were dropped, so it moves to jvmCommonMain
unchanged - now shared with desktop.

Also cleans up three stale Room schema-export directories left over from a
historical `com.fluxa.app.ui.catalog.AppDatabase`/`FluxaDatabase` package
rename, in both data/schemas/ and the now entirely-stale app/schemas/.
2026-08-05 15:30:47 +03:00
KhooLy
9384e1257b Initial commit 2026-06-05 14:43:08 +03:00