diff --git a/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsCodeVerifierCache.kt b/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsCodeVerifierCache.kt index 72eb75526..875724d50 100644 --- a/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsCodeVerifierCache.kt +++ b/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsCodeVerifierCache.kt @@ -10,6 +10,7 @@ import com.russhwolf.settings.coroutines.toSuspendSettings * @param settings The [Settings] instance to use. Defaults to [createDefaultSettings]. * @param key The key to use for saving the code verifier. */ +@OptIn(ExperimentalSettingsApi::class) class SettingsCodeVerifierCache( private val settings: Settings = createDefaultSettings(), private val key: String = SETTINGS_KEY, @@ -31,20 +32,16 @@ class SettingsCodeVerifierCache( } } - @OptIn(ExperimentalSettingsApi::class) private val suspendSettings = settings.toSuspendSettings() - @OptIn(ExperimentalSettingsApi::class, ExperimentalSettingsApi::class) override suspend fun saveCodeVerifier(codeVerifier: String) { suspendSettings.putString(key, codeVerifier) } - @OptIn(ExperimentalSettingsApi::class) override suspend fun loadCodeVerifier(): String? { return suspendSettings.getStringOrNull(key) } - @OptIn(ExperimentalSettingsApi::class) override suspend fun deleteCodeVerifier() { suspendSettings.remove(key) } diff --git a/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsSessionManager.kt b/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsSessionManager.kt index e924fa118..b36c9343d 100644 --- a/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsSessionManager.kt +++ b/GoTrue/src/settingsMain/kotlin/io/github/jan/supabase/gotrue/SettingsSessionManager.kt @@ -20,6 +20,7 @@ private val settingsJson = Json { * @param key The key to use for saving the session. * @param json The [Json] instance to use for serialization. Defaults to [settingsJson]. **Important: [JsonBuilder.encodeDefaults] must be set to true.** */ +@OptIn(ExperimentalSettingsApi::class) class SettingsSessionManager( private val settings: Settings = createDefaultSettings(), private val key: String = SETTINGS_KEY, @@ -44,12 +45,10 @@ class SettingsSessionManager( private val suspendSettings = settings.toSuspendSettings() - @OptIn(ExperimentalSettingsApi::class) override suspend fun saveSession(session: UserSession) { suspendSettings.putString(key, json.encodeToString(session)) } - @OptIn(ExperimentalSettingsApi::class) override suspend fun loadSession(): UserSession? { val session = suspendSettings.getStringOrNull(key) ?: return null return try { @@ -60,7 +59,6 @@ class SettingsSessionManager( } } - @OptIn(ExperimentalSettingsApi::class) override suspend fun deleteSession() { suspendSettings.remove(key) } diff --git a/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeChannelImpl.kt b/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeChannelImpl.kt index 7ddaa666b..0aede7fd7 100644 --- a/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeChannelImpl.kt +++ b/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeChannelImpl.kt @@ -160,6 +160,7 @@ internal class RealtimeChannelImpl( ) } + @Suppress("UNCHECKED_CAST") override fun RealtimeChannel.postgresChangeFlowInternal( action: KClass, schema: String, diff --git a/Storage/src/settingsMain/kotlin/io/github/jan/supabase/storage/resumable/SettingsResumableCache.kt b/Storage/src/settingsMain/kotlin/io/github/jan/supabase/storage/resumable/SettingsResumableCache.kt index 80036697a..9e558d836 100644 --- a/Storage/src/settingsMain/kotlin/io/github/jan/supabase/storage/resumable/SettingsResumableCache.kt +++ b/Storage/src/settingsMain/kotlin/io/github/jan/supabase/storage/resumable/SettingsResumableCache.kt @@ -12,29 +12,25 @@ import kotlinx.serialization.json.Json * A [ResumableCache] implementation using [com.russhwolf.settings.Settings]. This implementation saves the urls on the disk. If you want a memory only cache, use [Memory]. * Unsupported on Linux. */ +@OptIn(ExperimentalSettingsApi::class) class SettingsResumableCache(settings: Settings = Settings()) : ResumableCache { - @OptIn(ExperimentalSettingsApi::class) private val settings = settings.toSuspendSettings() - @OptIn(ExperimentalSettingsApi::class) override suspend fun set(fingerprint: Fingerprint, entry: ResumableCacheEntry) { settings.putString(fingerprint.value, Json.encodeToString(entry)) } - @OptIn(ExperimentalSettingsApi::class) override suspend fun get(fingerprint: Fingerprint): ResumableCacheEntry? { return settings.getStringOrNull(fingerprint.value)?.let { Json.decodeFromString(it) } } - @OptIn(ExperimentalSettingsApi::class) override suspend fun remove(fingerprint: Fingerprint) { settings.remove(fingerprint.value) } - @OptIn(ExperimentalSettingsApi::class) override suspend fun clear() { settings.keys().forEach { if(it.split(Fingerprint.FINGERPRINT_SEPARATOR).size == Fingerprint.FINGERPRINT_PARTS) remove(Fingerprint(it) ?: error("Invalid fingerprint $it")) diff --git a/build.gradle.kts b/build.gradle.kts index d7ab41b41..d090d7278 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension val excludedModules = listOf("plugins", "serializers", "test-common") fun libraryModules(withBom: Boolean = true, init: Project.() -> Unit) = configure( - allprojects.filter { it.name !in excludedModules && !it.path.contains("sample") && if(withBom) true else it.name != "bom" }, + allprojects.filter { it.name !in excludedModules && !it.path.contains("sample") && if(withBom) true else it.name != "bom" && it.name != it.rootProject.name }, init ) diff --git a/gradle.properties b/gradle.properties index e26465754..14b117a2b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,6 @@ android.useAndroidX=true org.gradle.jvmargs=-Xmx4096m kotlin.mpp.androidSourceSetLayoutVersion=2 kotlin.native.ignoreDisabledTargets=true -kotlin.native.ignoreIncorrectDependencies=true org.gradle.parallel=true kotlin.suppressGradlePluginWarnings=IncorrectCompileOnlyDependencyWarning diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f..a4b76b953 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9355b4155..0aaefbcaf 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf133..f5feea6d6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30dbd..9d21a2183 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/sample/multi-factor-auth/common/build.gradle.kts b/sample/multi-factor-auth/common/build.gradle.kts index 045b41f36..a149bdec1 100644 --- a/sample/multi-factor-auth/common/build.gradle.kts +++ b/sample/multi-factor-auth/common/build.gradle.kts @@ -57,7 +57,6 @@ kotlin { } } val desktopMain by getting { - dependsOn(nonJsMain) dependencies { api(compose.preview) }