pageta-android/gradle/libs.versions.toml
Till JS 39fd3557e8 Cloud-Sync Opt-in: requireSyncConsent + Settings-Toggle
Konsument des geteilten ManaEventSync-Consent-Gates (event-sync 0.9.1):
EventSyncConfig mit requireSyncConsent=true → ohne Einwilligung läuft die
Engine lokal-only (die Factory verdrahtet den mana-auth-Consent-Loader
automatisch, gleiche Quelle wie Web/iOS). Neuer Settings-Toggle
'Synchronisierung' (nur eingeloggt) persistiert die Einwilligung nach
mana-auth (PATCH /api/v1/settings/app/pageta) und schaltet die Engine.
Behebt die Inkonsistenz: Android synct nicht mehr per Default ohne Zustimmung.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 16:38:01 +02:00

61 lines
3.3 KiB
TOML

[versions]
agp = "8.13.2"
kotlin = "2.1.0"
coreKtx = "1.15.0"
activityCompose = "1.9.3"
lifecycle = "2.8.7"
composeBom = "2024.12.01"
navigation = "2.8.5"
datetime = "0.6.1"
ksp = "2.1.0-1.0.29"
room = "2.6.1"
datastore = "1.1.1"
ktor = "3.0.3"
coil = "2.7.0"
# ev.mana Libs (aus mavenLocal / später Forgejo)
manaCore = "0.8.0"
manaTokens = "0.3.0"
manaWidget = "0.1.0"
glance = "1.1.1"
manaEventSync = "0.9.1"
manaEventSyncRoom = "0.8.0"
manaUi = "0.20.0"
[libraries]
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" }
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycle" }
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" }
compose-ui = { module = "androidx.compose.ui:ui" }
compose-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
compose-material3 = { module = "androidx.compose.material3:material3" }
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigation" }
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" }
mana-core = { module = "ev.mana:mana-kotlin-core", version.ref = "manaCore" }
mana-tokens = { module = "ev.mana:mana-kotlin-tokens", version.ref = "manaTokens" }
mana-widget = { module = "ev.mana:mana-kotlin-widget", version.ref = "manaWidget" }
glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
glance-material3 = { module = "androidx.glance:glance-material3", version.ref = "glance" }
mana-event-sync = { module = "ev.mana:mana-kotlin-event-sync", version.ref = "manaEventSync" }
mana-event-sync-room = { module = "ev.mana:mana-kotlin-event-sync-room", version.ref = "manaEventSyncRoom" }
mana-ui = { module = "ev.mana:mana-kotlin-ui", version.ref = "manaUi" }
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" }
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }