Skip to content
This log is too long to show here, 387 KB has been skipped — click to see the complete log
> Task :respect-lib-xapi-ipc-shared:assembleDebug
> Task :respect-lib-xapi-ipc-shared:bundleReleaseAar
> Task :respect-lib-xapi-ipc-shared:generateDebugLintReportModel
> Task :respect-lib-xapi-ipc-shared:javaPreCompileDebugUnitTest
> Task :respect-lib-xapi-ipc-shared:generateDebugUnitTestStubRFile
> Task :respect-lib-xapi-ipc-shared:lintReportDebug
> Task :respect-lib-xapi-nanohttpd:transformCommonMainDependenciesMetadata
> Task :respect-lib-xapi-ipc-shared:lintDebug
> Task :respect-lib-xapi-ipc-shared:lint
> Task :respect-lib-xapi-ipc-shared:compileDebugUnitTestKotlin NO-SOURCE
> Task :respect-lib-xapi-ipc-shared:compileDebugUnitTestJavaWithJavac NO-SOURCE
> Task :respect-lib-xapi-ipc-shared:processDebugUnitTestJavaRes NO-SOURCE
> Task :respect-lib-xapi-ipc-shared:verifyReleaseResources
> Task :respect-lib-xapi-ipc-shared:testDebugUnitTest NO-SOURCE
> Task :respect-lib-xapi-ipc-shared:assembleRelease
> Task :respect-lib-xapi-ipc-shared:assemble
> Task :respect-lib-xapi-ipc-shared:test UP-TO-DATE
> Task :respect-lib-xapi-ipc-shared:check
> Task :respect-lib-xapi-ipc-shared:build
> Task :respect-lib-xapi-nanohttpd:compileCommonMainKotlinMetadata SKIPPED
> Task :respect-lib-xapi-nanohttpd:generateProjectStructureMetadata
> Task :respect-lib-xapi-nanohttpd:metadataCommonMainProcessResources NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:metadataCommonMainClasses UP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:allMetadataJar
> Task :respect-lib-xapi-nanohttpd:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:bundleAndroidMainAar
> Task :respect-lib-xapi-nanohttpd:assembleAndroidMain
> Task :respect-lib-xapi-nanohttpd:jvmProcessResources NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:processJvmMainResources SKIPPED
> Task :respect-lib-xapi-nanohttpd:jvmTestProcessResources NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:processJvmTestResources SKIPPED
> Task :respect-lib-xxhash:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-xxhash:bundleAndroidMainAar
> Task :respect-lib-xxhash:assembleAndroidMain
> Task :respect-lib-xxhash:assemble
> Task :respect-lib-xxhash:compileTestKotlinJvm NO-SOURCE
> Task :respect-lib-xxhash:compileJvmTestJava NO-SOURCE
> Task :respect-lib-xxhash:jvmTestProcessResources NO-SOURCE
> Task :respect-lib-xxhash:processJvmTestResources SKIPPED
> Task :respect-lib-xxhash:jvmTestClasses UP-TO-DATE
> Task :respect-lib-xxhash:jvmTest NO-SOURCE
> Task :respect-lib-xxhash:allTests NO-SOURCE
> Task :respect-lib-xxhash:check UP-TO-DATE
> Task :respect-lib-xxhash:build
> Task :respect-server:generateTestBuildConfigClasses SKIPPED
> Task :respect-server:processTestResources NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:compileKotlinJvm
> Task :respect-server:generateSwaggerUIRespect
> Task :respect-lib-xapi-nanohttpd:compileJvmMainJava NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:jvmMainClasses
> Task :respect-lib-xapi-nanohttpd:jvmJar
> Task :respect-lib-xapi-nanohttpd:assemble
> Task :respect-lib-xapi-nanohttpd:compileTestKotlinJvm NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:compileJvmTestJava NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:jvmTestClasses UP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:jvmTest NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:allTests NO-SOURCE
> Task :respect-lib-xapi-nanohttpd:check UP-TO-DATE
> Task :respect-lib-xapi-nanohttpd:build
> Task :respect-server:generateSwaggerUI NO-SOURCE

> Task :respect-lib-cache:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/build/generated/ksp/jvm/jvmMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDbConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt:84:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt:6:29 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt:7:47 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt:11:55 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.

> Task :respect-lib-cache:compileJvmMainJava NO-SOURCE
> Task :respect-lib-cache:jvmMainClasses
> Task :respect-lib-cache:kspTestKotlinJvm SKIPPED
> Task :respect-lib-cache:copyRoomSchemas NO-SOURCE

> Task :respect-lib-cache:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/build/generated/ksp/android/androidMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDbConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt:87:48 'var host: InetAddress!' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt:130:28 'fun resolveService(p0: NsdServiceInfo!, p1: NsdManager.ResolveListener!): Unit' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt:138:42 'var host: InetAddress!' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt:84:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt:186:54 Java type mismatch: inferred type is 'String?', but 'String' was expected.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt:11:24 Java type mismatch: inferred type is 'String?', but 'String' was expected.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt:6:29 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt:120:43 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'File?'.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt:7:47 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt:11:55 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.

> Task :respect-lib-cache:jvmJar
> Task :respect-lib-cache:processAndroidMainJavaRes
> Task :respect-lib-cache:bundleAndroidMainClassesToCompileJar
> Task :respect-lib-cache:mergeAndroidMainGeneratedProguardFiles UP-TO-DATE
> Task :respect-lib-cache:exportAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-cache:mergeAndroidMainJavaResource
> Task :respect-lib-cache:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-cache:bundleAndroidMainClassesToRuntimeJar
> Task :respect-lib-cache:bundleLibRuntimeToDirAndroidMain
> Task :respect-lib-cache:syncAndroidMainLibJars
> Task :respect-lib-cache:createFullJarAndroidMain
> Task :respect-lib-cache:bundleAndroidMainLocalLintAar
> Task :respect-lib-cache:bundleAndroidMainAar
> Task :respect-lib-cache:assembleAndroidMain
> Task :respect-lib-cache:assemble
> Task :respect-lib-cache:jvmTestProcessResources
> Task :respect-lib-cache:processJvmTestResources SKIPPED
> Task :respect-lib-xapi-ipc-client:lintAnalyzeDebug
> Task :respect-lib-xapi-ipc-client:lintReportDebug
> Task :respect-lib-xapi-ipc-client:lintDebug
> Task :respect-lib-xapi-ipc-client:lint
> Task :respect-lib-xapi-ipc-client:check
> Task :respect-lib-xapi-ipc-client:build
> Task :respect-lib-cache:compileTestKotlinJvm
> Task :respect-lib-cache:compileJvmTestJava NO-SOURCE
> Task :respect-lib-cache:jvmTestClasses
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

> Task :respect-datalayer-db:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-datalayer-db/build/generated/ksp/jvm/jvmMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-datalayer-db/build/generated/ksp/jvm/jvmMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573

> Task :respect-datalayer-db:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-datalayer-db/build/generated/ksp/android/androidMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-datalayer-db/build/generated/ksp/android/androidMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseConstructor.kt:5:8 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573

> Task :respect-lib-cache:jvmTest
> Task :respect-datalayer-db:compileJvmMainJava NO-SOURCE
> Task :respect-datalayer-db:jvmMainClasses
> Task :respect-datalayer-db:kspTestKotlinJvm SKIPPED
> Task :respect-datalayer-db:copyRoomSchemas NO-SOURCE
> Task :respect-datalayer-db:processAndroidMainJavaRes
> Task :respect-datalayer-db:mergeAndroidMainGeneratedProguardFiles UP-TO-DATE
> Task :respect-datalayer-db:exportAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-datalayer-db:bundleAndroidMainClassesToCompileJar
> Task :respect-datalayer-db:mergeAndroidMainJavaResource
> Task :respect-datalayer-db:bundleAndroidMainClassesToRuntimeJar
> Task :respect-datalayer-db:jvmJar
> Task :respect-datalayer-db:bundleLibRuntimeToDirAndroidMain
> Task :respect-datalayer-db:createFullJarAndroidMain
> Task :respect-lib-shared:extractAndroidMainAnnotations
> Task :respect-datalayer-db:syncAndroidMainLibJars
> Task :respect-datalayer-db:bundleAndroidMainLocalLintAar
> Task :respect-lib-xapi-ipc-server:generateDebugAndroidTestLintModel
> Task :respect-datalayer-db:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-datalayer-db:bundleAndroidMainAar
> Task :respect-datalayer-db:assembleAndroidMain
> Task :respect-datalayer-db:assemble
> Task :respect-datalayer-db:jvmTestProcessResources
> Task :respect-datalayer-db:processJvmTestResources SKIPPED
> Task :respect-datalayer-db:compileTestKotlinJvm
> Task :respect-lib-cache:allTests
> Task :respect-datalayer-db:compileJvmTestJava NO-SOURCE
> Task :respect-datalayer-db:jvmTestClasses
> Task :respect-lib-xapi-ipc-server:lintAnalyzeDebugAndroidTest
> Task :respect-datalayer-db:jvmTest
> Task :respect-datalayer-db:allTests
> Task :respect-datalayer-db:check
> Task :respect-datalayer-db:build
> Task :respect-lib-cache:check
> Task :respect-lib-cache:build
> Task :respect-lib-test:extractAndroidMainAnnotations
> Task :respect-lib-test:compileAndroidMain NO-SOURCE
> Task :respect-lib-test:mergeAndroidMainGeneratedProguardFiles UP-TO-DATE
> Task :respect-lib-test:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-test:processAndroidMainJavaRes NO-SOURCE
> Task :respect-lib-test:mergeAndroidMainJavaResource
> Task :respect-lib-test:syncAndroidMainLibJars
> Task :respect-lib-test:bundleAndroidMainAar
> Task :respect-lib-test:assembleAndroidMain
> Task :respect-lib-xapi-ipc-server:lintReportDebug
> Task :respect-lib-xapi-ipc-server:lintDebug
> Task :respect-lib-xapi-ipc-server:lint
> Task :respect-lib-xapi-ipc-server:check
> Task :respect-lib-xapi-ipc-server:build

> Task :respect-lib-shared:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt:92:70 'fun String.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt:26:14 'fun String.decodeBase64String(): String' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt:11:1 Annotation `@ParameterName(name = "date")` is missing on actual declaration.
All annotations from expect `world.respect.shared.util.rememberFormattedDateTime` must be present with the same arguments on actual `world.respect.shared.util.rememberFormattedDateTime`, otherwise they might behave incorrectly.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt:22:31 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt:23:64 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt:24:70 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt:29:40 'val pathSegments: List<String>' is deprecated. `pathSegments` is deprecated.

        This property will contain an empty path segment at the beginning for URLs with a hostname,
        and an empty path segment at the end for the URLs with a trailing slash. If you need to keep this behaviour please
        use [rawSegments]. If you only need to access the meaningful parts of the path, consider using [segments] instead.
             
        Please decide if you need [rawSegments] or [segments] explicitly.

> Task :respect-lib-shared:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt:22:31 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt:23:64 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt:24:70 'fun ByteArray.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt:29:40 'val pathSegments: List<String>' is deprecated. `pathSegments` is deprecated.

        This property will contain an empty path segment at the beginning for URLs with a hostname,
        and an empty path segment at the end for the URLs with a trailing slash. If you need to keep this behaviour please
        use [rawSegments]. If you only need to access the meaningful parts of the path, consider using [segments] instead.
             
        Please decide if you need [rawSegments] or [segments] explicitly.

> Task :respect-lib-shared:compileJvmMainJava NO-SOURCE
> Task :respect-lib-shared:jvmMainClasses
> Task :respect-lib-shared:jvmJar
> Task :respect-lib-shared:processAndroidMainJavaRes
> Task :respect-lib-shared:mergeAndroidMainGeneratedProguardFiles UP-TO-DATE
> Task :respect-lib-shared:exportAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-shared:bundleAndroidMainClassesToCompileJar
> Task :respect-lib-shared:mergeAndroidMainJavaResource
> Task :respect-lib-shared-se:extractAndroidMainAnnotations
> Task :respect-lib-shared:bundleAndroidMainClassesToRuntimeJar
> Task :respect-lib-shared:bundleLibRuntimeToDirAndroidMain
> Task :respect-lib-shared:syncAndroidMainLibJars
> Task :respect-lib-shared:createFullJarAndroidMain
> Task :respect-lib-shared:bundleAndroidMainLocalLintAar
> Task :respect-lib-shared:mergeAndroidMainConsumerProguardFiles UP-TO-DATE

> Task :respect-lib-shared-se:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:45:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:46:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.

> Task :respect-lib-shared:bundleAndroidMainAar
> Task :respect-lib-shared-se:bundleAndroidMainClassesToCompileJar
> Task :respect-lib-shared-se:processAndroidMainJavaRes
> Task :respect-lib-shared-se:mergeAndroidMainGeneratedProguardFiles UP-TO-DATE
> Task :respect-lib-shared-se:exportAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-shared-se:bundleLibRuntimeToDirAndroidMain
> Task :respect-lib-shared-se:bundleAndroidMainClassesToRuntimeJar
> Task :respect-app-compose:extractAndroidMainAnnotations
> Task :respect-lib-shared-se:createFullJarAndroidMain
> Task :respect-lib-shared:assembleAndroidMain
> Task :respect-lib-shared:assemble
> Task :respect-lib-shared-se:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-lib-shared-se:mergeAndroidMainJavaResource
> Task :respect-lib-shared-se:syncAndroidMainLibJars
> Task :respect-lib-shared-se:bundleAndroidMainLocalLintAar
> Task :respect-lib-shared-se:bundleAndroidMainAar
> Task :respect-lib-shared-se:assembleAndroidMain

> Task :respect-cli:compileKotlin
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt:65:32 Unnecessary safe call on a non-null receiver of type 'Namespace'.

> Task :respect-cli:compileJava NO-SOURCE
> Task :respect-cli:classes UP-TO-DATE
> Task :respect-cli:jar

> Task :respect-lib-shared-se:compileKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:45:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt:46:46 'fun String.decodeBase64Bytes(): ByteArray' is deprecated. Ambiguous and lenient. Use `Base64.Default.decode()` from the Kotlin standard library.

> Task :respect-cli:startScripts
> Task :respect-lib-shared-se:compileJvmMainJava NO-SOURCE
> Task :respect-lib-shared-se:jvmMainClasses
> Task :respect-lib-shared-se:jvmJar
> Task :respect-cli:distTar
> Task :respect-cli:distZip
> Task :respect-cli:assemble
> Task :respect-cli:compileTestKotlin NO-SOURCE
> Task :respect-cli:compileTestJava NO-SOURCE
> Task :respect-cli:testClasses UP-TO-DATE
> Task :respect-cli:test NO-SOURCE
> Task :respect-cli:check UP-TO-DATE
> Task :respect-cli:build
> Task :respect-lib-shared-se:assemble

> Task :respect-server:compileKotlin
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt:74:57 'fun String.encodeBase64(): String' is deprecated. Use `Base64.Default.encode()` from the Kotlin standard library.

> Task :respect-server:compileJava NO-SOURCE
> Task :respect-server:classes
> Task :respect-server:jar
> Task :respect-server:startScripts
> Task :respect-lib-test:compileKotlinJvm
> Task :respect-server:distTar
> Task :respect-lib-test:compileJvmMainJava NO-SOURCE
> Task :respect-lib-test:jvmMainClasses
> Task :respect-lib-test:jvmJar
> Task :respect-lib-shared-se:compileTestKotlinJvm NO-SOURCE
> Task :respect-lib-shared-se:compileJvmTestJava NO-SOURCE
> Task :respect-lib-shared-se:jvmTestClasses UP-TO-DATE
> Task :respect-lib-shared-se:jvmTest NO-SOURCE
> Task :respect-lib-shared-se:allTests NO-SOURCE
> Task :respect-lib-shared-se:check UP-TO-DATE
> Task :respect-lib-shared-se:build
> Task :respect-lib-test:assemble
> Task :respect-lib-test:compileTestKotlinJvm NO-SOURCE
> Task :respect-lib-test:compileJvmTestJava NO-SOURCE
> Task :respect-lib-test:jvmTestClasses UP-TO-DATE
> Task :respect-lib-test:jvmTest NO-SOURCE
> Task :respect-lib-test:allTests NO-SOURCE
> Task :respect-lib-test:check UP-TO-DATE
> Task :respect-lib-test:build
> Task :respect-lib-shared:compileTestKotlinJvm
> Task :respect-datalayer-repository:compileTestKotlinJvm
> Task :respect-server:distZip
> Task :respect-datalayer-repository:compileJvmTestJava NO-SOURCE
> Task :respect-datalayer-repository:jvmTestClasses
2026-08-18 22:59:08.129 [Test worker] INFO  io.ktor.server.Application - Application started in 0.235 seconds.
2026-08-18 22:59:08.215 [DefaultDispatcher-worker-2 @coroutine#2] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:35241

> Task :respect-app-compose:compileKotlinDesktop
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt:107:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt:13:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt:38:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt:186:25 Expression is unused.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt:98:41 'val outlinedButtonBorder: BorderStroke' is deprecated. Please use the version that takes an `enabled` param to get the `BorderStroke` with the correct opacity.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt:53:44 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt:66:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:423:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:431:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt:46:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt:120:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt:91:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:133:33 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:144:56 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt:238:29 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt:410:18 'fun Modifier.menuAnchor(): Modifier' is deprecated. Use overload that takes ExposedDropdownMenuAnchorType and enabled parameters.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt:15:19 'fun painterResource(resourcePath: String): Painter' is deprecated. Migrate to the Compose resources library. See https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-images-resources.html If you need to load resources specificly from Java classpath, you should still use the new resource library and use a snippet from https://github.com/JetBrains/compose-multiplatform-core/pull/1457.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt:9:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt:22:21 'constructor(p0: String!): Locale' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt:13:12 'fun painterResource(resourcePath: String): Painter' is deprecated. Migrate to the Compose resources library. See https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-images-resources.html If you need to load resources specificly from Java classpath, you should still use the new resource library and use a snippet from https://github.com/JetBrains/compose-multiplatform-core/pull/1457.
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

> Task :respect-app-compose:compileAndroidMain
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt:20:18 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt:10:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt:25:21 'constructor(p0: String!): Locale' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt:31:19 'fun updateConfiguration(p0: Configuration!, p1: DisplayMetrics!): Unit' is deprecated. Deprecated in Java.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt:107:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt:13:1 'expect'/'actual' classes (including interfaces, objects, annotations, enums, and 'actual' typealiases) are in Beta. Consider using the '-Xexpect-actual-classes' flag to suppress this warning. Also see: https://youtrack.jetbrains.com/issue/KT-61573
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt:38:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt:186:25 Expression is unused.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt:98:41 'val outlinedButtonBorder: BorderStroke' is deprecated. Please use the version that takes an `enabled` param to get the `BorderStroke` with the correct opacity.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt:53:44 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt:66:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:423:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt:431:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt:46:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt:120:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt:91:2 'annotation class Preview : Annotation' is deprecated. Use androidx.compose.ui.tooling.preview.Preview from org.jetbrains.compose.ui:ui-tooling-preview module instead.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:133:33 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt:144:56 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt:238:29 'typealias MenuAnchorType = ExposedDropdownMenuAnchorType' is deprecated. Renamed to ExposedDropdownMenuAnchorType.
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt:410:18 'fun Modifier.menuAnchor(): Modifier' is deprecated. Use overload that takes ExposedDropdownMenuAnchorType and enabled parameters.
2026-08-18 22:59:08.931 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35241/resources/index.json
2026-08-18 22:59:08.932 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35241/resources/index.json.
2026-08-18 22:59:09.053 [eventLoopGroupProxy-4-1 @call-handler#11] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
  / [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
    /resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
      /resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
        /resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
  "" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
  SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-18 22:59:09.088 [eventLoopGroupProxy-4-1 @call-handler#11] INFO  io.ktor.server.Application - 200 OK: GET - /resources/index.json in 42ms
2026-08-18 22:59:09.096 [DefaultDispatcher-worker-1 @coroutine#8] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35241/resources/index.json
2026-08-18 22:59:09.098 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35241/resources/index.json
2026-08-18 22:59:09.098 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35241/resources/index.json
2026-08-18 22:59:09.118 [DefaultDispatcher-worker-1 @coroutine#8] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:35241/resources/index.json.
Loaded in 309 ms
2026-08-18 22:59:09.146 [DefaultDispatcher-worker-1 @coroutine#19] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:35241/resources/index.json
2026-08-18 22:59:09.147 [DefaultDispatcher-worker-1 @coroutine#19] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:35241/resources/index.json.
2026-08-18 22:59:09.148 [eventLoopGroupProxy-4-1 @call-handler#21] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
  / [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
    /resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
      /resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
        /resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
  "" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
  SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-18 22:59:09.150 [eventLoopGroupProxy-4-1 @call-handler#21] INFO  io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 2ms
2026-08-18 22:59:09.150 [DefaultDispatcher-worker-1 @coroutine#19] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:35241/resources/index.json
2026-08-18 22:59:09.150 [DefaultDispatcher-worker-1 @coroutine#19] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:35241/resources/index.json
2026-08-18 22:59:09.150 [DefaultDispatcher-worker-1 @coroutine#19] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:35241/resources/index.json
Loaded in 326 ms
2026-08-18 22:59:10.161 [Test worker] INFO  io.ktor.server.Application - Application started in 0.001 seconds.
2026-08-18 22:59:10.163 [DefaultDispatcher-worker-1 @coroutine#25] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:38685
2026-08-18 22:59:10.206 [Test worker @coroutine#29] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38685/resources/index.json
2026-08-18 22:59:10.206 [Test worker @coroutine#29] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38685/resources/index.json.
2026-08-18 22:59:10.208 [eventLoopGroupProxy-7-1 @call-handler#33] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
  / [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
    /resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
      /resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
        /resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
  "" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
  SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-18 22:59:10.209 [eventLoopGroupProxy-7-1 @call-handler#33] INFO  io.ktor.server.Application - 200 OK: GET - /resources/index.json in 1ms
2026-08-18 22:59:10.210 [Test worker @coroutine#29] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38685/resources/index.json
2026-08-18 22:59:10.210 [Test worker @coroutine#29] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38685/resources/index.json
2026-08-18 22:59:10.210 [Test worker @coroutine#29] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38685/resources/index.json
2026-08-18 22:59:10.211 [Test worker @coroutine#29] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class world.respect.lib.opds.model.OpdsFeed for http://localhost:38685/resources/index.json.
2026-08-18 22:59:10.216 [DefaultDispatcher-worker-2 @coroutine#41] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:38685/resources/index.json
2026-08-18 22:59:10.216 [DefaultDispatcher-worker-2 @coroutine#41] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:38685/resources/index.json.
2026-08-18 22:59:10.218 [eventLoopGroupProxy-7-1 @call-handler#43] TRACE io.ktor.server.routing.Routing - Trace for [resources, index.json]
/, segment:0 -> SUCCESS @ /
  / [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
    /resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
      /resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content)]
        /resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
  "" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
  SUCCESS; Parameters [static-content-path-parameter=[index.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-18 22:59:10.218 [eventLoopGroupProxy-7-1 @call-handler#43] INFO  io.ktor.server.Application - 304 Not Modified: GET - /resources/index.json in 0ms
2026-08-18 22:59:10.219 [DefaultDispatcher-worker-1 @coroutine#41] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:38685/resources/index.json
2026-08-18 22:59:10.219 [DefaultDispatcher-worker-1 @coroutine#41] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:38685/resources/index.json
2026-08-18 22:59:10.219 [DefaultDispatcher-worker-1 @coroutine#41] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:38685/resources/index.json
2026-08-18 22:59:11.228 [Test worker] INFO  io.ktor.server.Application - Application started in 0.001 seconds.
2026-08-18 22:59:11.229 [DefaultDispatcher-worker-1 @coroutine#47] INFO  io.ktor.server.Application - Responding at http://0.0.0.0:43599
2026-08-18 22:59:11.235 [Test worker @coroutine#53] TRACE i.k.c.p.c.ContentNegotiation - Adding Accept=application/json header for http://localhost:43599/resources/lesson001.json
2026-08-18 22:59:11.235 [Test worker @coroutine#53] TRACE i.k.c.p.c.ContentNegotiation - Body type class io.ktor.client.utils.EmptyContent is in ignored types. Skipping ContentNegotiation for http://localhost:43599/resources/lesson001.json.
2026-08-18 22:59:11.237 [eventLoopGroupProxy-10-1 @call-handler#56] TRACE io.ktor.server.routing.Routing - Trace for [resources, lesson001.json]
/, segment:0 -> SUCCESS @ /
  / [(static-content)], segment:0 -> SUCCESS @ / [(static-content)]
    /resources [(static-content)], segment:1 -> SUCCESS @ /resources [(static-content)]
      /resources/{...} [(static-content)], segment:2 -> SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /resources/{...} [(static-content)]
        /resources/{...} [(static-content), (method:GET)], segment:2 -> SUCCESS @ /resources/{...} [(static-content), (method:GET)]
Matched routes:
  "" -> "(static-content)" -> "resources" -> "{...}" -> "(method:GET)"
Routing resolve result:
  SUCCESS; Parameters [static-content-path-parameter=[lesson001.json]] @ /resources/{...} [(static-content), (method:GET)]
2026-08-18 22:59:11.238 [eventLoopGroupProxy-10-1 @call-handler#56] INFO  io.ktor.server.Application - 200 OK: GET - /resources/lesson001.json in 1ms
2026-08-18 22:59:11.239 [DefaultDispatcher-worker-2 @coroutine#53] TRACE io.ktor.client.plugins.SaveBody - Saving body for http://localhost:43599/resources/lesson001.json
2026-08-18 22:59:11.239 [DefaultDispatcher-worker-4 @coroutine#53] TRACE i.k.client.plugins.HttpCallValidator - Validating response for request http://localhost:43599/resources/lesson001.json
2026-08-18 22:59:11.239 [DefaultDispatcher-worker-4 @coroutine#53] TRACE i.k.c.p.DefaultResponseValidation - Skipping default response validation for http://localhost:43599/resources/lesson001.json
2026-08-18 22:59:11.242 [DefaultDispatcher-worker-4 @coroutine#53] TRACE i.k.c.p.c.ContentNegotiation - Response body was converted to class kotlinx.serialization.json.JsonObject for http://localhost:43599/resources/lesson001.json.
Loaded in 66 ms

> Task :respect-datalayer-repository:jvmTest
> Task :respect-app-compose:processAndroidMainJavaRes
> Task :respect-app-compose:mergeAndroidMainGeneratedProguardFiles UP-TO-DATE
> Task :respect-app-compose:exportAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-app-compose:bundleAndroidMainClassesToCompileJar
> Task :respect-app-compose:bundleAndroidMainClassesToRuntimeJar
> Task :respect-app-compose:createFullJarAndroidMain
> Task :respect-app-compose:mergeAndroidMainConsumerProguardFiles UP-TO-DATE
> Task :respect-app-compose:compileDesktopMainJava NO-SOURCE
> Task :respect-app-compose:desktopMainClasses
> Task :respect-app-compose:mergeAndroidMainJavaResource
> Task :respect-app-compose:bundleLibRuntimeToDirAndroidMain
> Task :respect-app-compose:desktopJar
> Task :respect-app-compose:syncAndroidMainLibJars
> Task :respect-app-compose:bundleAndroidMainLocalLintAar
> Task :respect-app-compose:bundleAndroidMainAar
> Task :respect-app-compose:assembleAndroidMain
> Task :respect-app-compose:assemble
> Task :respect-app-compose:compileTestKotlinDesktop NO-SOURCE
> Task :respect-app-compose:compileDesktopTestJava NO-SOURCE
> Task :respect-app-compose:desktopTestClasses
> Task :respect-app-compose:desktopTest NO-SOURCE
> Task :respect-app-compose:allTests NO-SOURCE
> Task :respect-app-compose:check UP-TO-DATE
> Task :respect-app-compose:build
> Task :respect-datalayer-repository:allTests
> Task :respect-datalayer-repository:check
> Task :respect-datalayer-repository:build
> Task :respect-lib-shared:compileJvmTestJava NO-SOURCE
> Task :respect-lib-shared:jvmTestClasses
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

> Task :app-android:compileReleaseKotlin
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/src/main/kotlin/world/respect/AppKoinModule.kt:808:13 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.

> Task :app-android:compileDebugKotlin
w: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/src/main/kotlin/world/respect/AppKoinModule.kt:808:13 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.

> Task :respect-lib-shared:jvmTest
> Task :app-android:compileDebugJavaWithJavac
> Task :app-android:processDebugJavaRes
> Task :app-android:dexBuilderDebug
> Task :app-android:mergeProjectDexDebug
> Task :app-android:compileReleaseJavaWithJavac
> Task :app-android:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :app-android:processReleaseJavaRes
> Task :app-android:generateReleaseLintVitalReportModel
> Task :app-android:mergeLibDexDebug
> Task :app-android:bundleDebugClassesToCompileJar
> Task :app-android:generateDebugLintReportModel
> Task :app-android:generateDebugAndroidTestLintModel
> Task :app-android:mergeDebugJavaResource
> Task :app-android:generateDebugUnitTestLintModel
> Task :app-android:compileDebugUnitTestKotlin NO-SOURCE
> Task :app-android:compileDebugUnitTestJavaWithJavac NO-SOURCE
> Task :app-android:bundleDebugClassesToRuntimeJar
> Task :app-android:processDebugUnitTestJavaRes NO-SOURCE
> Task :app-android:testDebugUnitTest NO-SOURCE
> Task :app-android:test UP-TO-DATE
> Task :respect-lib-shared:allTests
> Task :respect-lib-shared:check
> Task :respect-lib-shared:build
> Task :app-android:lintAnalyzeDebugAndroidTest
> Task :app-android:lintAnalyzeDebugUnitTest
> Task :app-android:expandReleaseArtProfileWildcards
> Task :app-android:mergeReleaseJavaResource
> Task :app-android:produceReleaseComposeMapping
> Task :app-android:lintVitalAnalyzeRelease
> Task :respect-server:shadowJar
> Task :app-android:reportReleaseComposeMappingErrors
> Task :app-android:lintVitalReportRelease SKIPPED
> Task :app-android:lintVitalRelease SKIPPED
> Task :respect-server:startShadowScripts
> Task :respect-server:shadowDistTar

> Task :app-android:minifyReleaseWithR8
WARNING: /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/build/intermediates/merged_java_res/release/mergeReleaseJavaResource/base.jar: R8: Unexpected reference to missing service class: META-INF/services/nl.adaptivity.xmlutil.util.SerializationProvider.
WARNING: /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/build/intermediates/merged_java_res/release/mergeReleaseJavaResource/base.jar: R8: Unexpected reference to missing service implementation class in META-INF/services/nl.adaptivity.xmlutil.util.SerializationProvider: nl.adaptivity.xmlutil.serialization.KotlinxSerializationProvider.
WARNING: /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/build/intermediates/merged_java_res/release/mergeReleaseJavaResource/base.jar: R8: Unexpected reference to missing service implementation class in META-INF/services/nl.adaptivity.xmlutil.util.SerializationProvider: nl.adaptivity.xmlutil.util.DefaultSerializationProvider.

> Task :respect-server:shadowDistZip
> Task :respect-server:assemble
> Task :respect-server:compileTestKotlin NO-SOURCE
> Task :respect-server:compileTestJava NO-SOURCE
> Task :respect-server:testClasses UP-TO-DATE
> Task :respect-server:test NO-SOURCE
> Task :respect-server:check UP-TO-DATE
> Task :respect-server:build
> Task :app-android:packageDebug
> Task :app-android:createDebugApkListingFileRedirect
> Task :app-android:assembleDebug
> Task :app-android:lintAnalyzeDebug

> Task :app-android:lintReportDebug
Wrote HTML report to file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/build/reports/lint-results-debug.html
Wrote SARIF report to file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/app-android/build/reports/lint-results-debug.sarif

> Task :app-android:lintDebug
> Task :app-android:lint
> Task :app-android:check
> Task :app-android:mergeReleaseComposeMapping
> Task :app-android:convertShrunkResourcesToBinaryRelease
> Task :app-android:compileReleaseArtProfile
> Task :app-android:optimizeReleaseResources
> Task :app-android:packageRelease
> Task :app-android:createReleaseApkListingFileRedirect
> Task :app-android:assembleRelease
> Task :app-android:assemble
> Task :app-android:build

[Incubating] Problems report is available at: file:///home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.6.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 2m 26s
1143 actionable tasks: 993 executed, 150 up-to-date
Build step 'Invoke Gradle script' changed build result to SUCCESS
[dev-playlists-links-end-to-end-tests] $ /bin/sh -xe /tmp/jenkins4101068814887906611.sh
+ ./ci-run-e2e-tests.sh cloud
ROOTDIR=/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests BASH_SOURCE=./ci-run-e2e-tests.sh
cp: cannot stat '/home/mike/IdeaProjects/TestServerController/build/distributions/testservercontroller-0.0.15.zip': No such file or directory
ci-run-maestro: TESTCONTROLLER_URL is https://8070.ustadtesting.ustadmobile.com/
Waiting for localhost:8070..23:00:28,989 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.19
23:00:28,990 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - No custom configurators were discovered as a service.
23:00:28,990 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
23:00:28,990 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
23:00:28,992 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
23:00:28,993 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
23:00:28,997 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 3 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
23:00:28,997 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
23:00:28,997 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
23:00:28,997 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
23:00:28,999 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/testservercontroller-0.0.15/lib/testservercontroller-0.0.15.jar!/logback.xml]
23:00:29,001 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@65987993 - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/testservercontroller-0.0.15/lib/testservercontroller-0.0.15.jar!/logback.xml] is not of type file
23:00:29,037 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@71075444 - value "/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs/" substituted for "${logs_dir:-./log/}"
23:00:29,037 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - Main configuration file URL: jar:file:/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/testservercontroller-0.0.15/lib/testservercontroller-0.0.15.jar!/logback.xml
23:00:29,037 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - FileWatchList= {}
23:00:29,038 |-INFO in ch.qos.logback.classic.model.processor.ConfigurationModelHandlerFull - URLWatchList= {}
23:00:29,038 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
23:00:29,038 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
23:00:29,041 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@71075444 - value "/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs//testservercontroller.log" substituted for "${LOG_DIR}/testservercontroller.log"
23:00:29,043 |-INFO in ch.qos.logback.core.model.processor.ModelInterpretationContext@71075444 - value "/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs//testservercontroller.%d{yyyy-MM-dd}.%i.log" substituted for "${LOG_DIR}/testservercontroller.%d{yyyy-MM-dd}.%i.log"
23:00:29,047 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1328718765 - No compression will be used
23:00:29,055 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1328718765 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs//testservercontroller.%d{yyyy-MM-dd}.%i.log for the active file
23:00:29,055 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - SizeAndTimeBasedFNATP class was renamed as SizeAndTimeBasedFileNamingAndTriggeringPolicy.
23:00:29,064 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs//testservercontroller.%d{yyyy-MM-dd}.%i.log'.
23:00:29,064 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - Roll-over at midnight.
23:00:29,067 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - Setting initial period to 2026-08-18T19:00:29.066Z
23:00:29,067 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - Direct use of either SizeAndTimeBasedFNATP or SizeAndTimeBasedFileNamingAndTriggeringPolicy 
23:00:29,067 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - is deprecated. Please use SizeAndTimeBasedRollingPolicy instead.
23:00:29,067 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6b695b06 - For more information see https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
23:00:29,067 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
23:00:29,078 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs//testservercontroller.log
23:00:29,078 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace/logs//testservercontroller.log]
23:00:29,079 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
23:00:29,079 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
23:00:29,079 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
23:00:29,079 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
23:00:29,079 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@4d1bf319 - End of configuration.
23:00:29,079 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6f53b8a - Registering current configuration as safe fallback point
23:00:29,079 |-INFO in ch.qos.logback.classic.util.ContextInitializer@6c4906d3 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 82 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

.
Connected!
ci-run-e2e-tests: TestServerController now running on port 8070 (pid 1727056)
Run Maestro using 

Evaluating flow(s)...

Uploading Flow(s)...
....................

╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                                                           │
│   Maestro cloud device specs:                                                                                                                             │
│   * Maestro_ANDROID_pixel_6_android-35 - en_US                                                                                                            │
│                                                                                                                                                           │
│   To change OS version use this option: --device-os=<version>                                                                                             │
│   To change devices use this option: --device-model=<device_model>                                                                                        │
│   To change device locale use this option: --device-locale=<device_locale>                                                                                │
│   To create a similar device locally, run: `maestro start-device --platform=android --device-model=<device_model> --device-os=35 --device-locale=en_US`   │
│                                                                                                                                                           │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Visit Maestro Cloud for more details about this upload:
https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01m0b3ydatem5tvcfq98nfmgc9

App binary id: 6e0acd6289b93e59abfb788274f587aa866a3371

Waiting for runs to be completed...
https://8062.ustadtesting.ustadmobile.com/api/directory/school ready
https://8060.ustadtesting.ustadmobile.com/api/directory/school ready
[Failed] 002_001_user_add_apps_playlists_and_bookmarks_to_school_test (3m 1.984s) (Assertion is false: "Assignment Result Statement Demo", id: app_title is visible)
https://8068.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 001_003_login_using_school_link_test (2m 5.497s)
https://8061.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 001_001_invite_users_using_qr_code_or_link_test (6m 21.169s)
https://8065.ustadtesting.ustadmobile.com/api/directory/school ready
[Failed] 006_user_send_feedback_test (1m 40.516s) (Element not found: Text matching regex: TestSchool, Id matching regex: school_name_text)
https://8067.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 001_002_add_user_direct_test (10m 25.033s)
https://8061.ustadtesting.ustadmobile.com/api/directory/school ready
[Passed] 003_admin_user_assigns_assignment_to_a_class_test (11m 34.642s)
[Failed] 002_002_browse_demo_app_test (2m 49.211s) (Assertion is false: "Native Demo", id: app_title is visible)

3/7 Flows Failed

==== View Details on Maestro Cloud ====
https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01m0b3ydatem5tvcfq98nfmgc9


Process will exit with code 1 (FAIL)
ci-run-e2e-tests: Cloud run finished (Status: 1). Extracting URL..
ci-run-e2e-tests: Found URL: https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01m0b3ydatem5tvcfq98nfmgc9
ci-run-e2e-tests: Navigating to downloader script...
Detected Maestro Cloud URL: https://app.maestro.dev/project/proj_01k6wzp0pwf75vpcw8vw1gh0y8/maestro-test/app/app_01k6x3hyf9exztk0022nehadkk/upload/mupload_01m0b3ydatem5tvcfq98nfmgc9
Now using node v20.20.2 (npm v10.8.2)
Node version after switch:
/home/jenkins/.nvm/versions/node/v20.20.2/bin/node
v20.20.2
Installing dependencies...

up to date, audited 170 packages in 2s

53 packages are looking for funding
  run `npm fund` for details

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
Starting Cypress to extract video URLs...
Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version.

1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration)
2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env()

Learn more: https://on.cypress.io/cypress-env-migration


====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.18.1                                                                        │
  │ Browser:        Chrome 151 (headless)                                                          │
  │ Node Version:   v20.20.2 (/home/jenkins/.nvm/versions/node/v20.20.2/bin/node)                  │
  │ Specs:          1 found (extract-maestro-video-urls.cy.js)                                     │
  │ Searched:       cypress/e2e/**/*.cy.{js,jsx,ts,tsx}                                            │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  extract-maestro-video-urls.cy.js                                                (1 of 1)


  Login, collect tests & Save Video URLs
Found 7 usable test link(s). Skipped 0.
[1/7] Visiting: 001_001_invite_users_using_qr_code_or_link_test
[1/7] Captured video for "001_001_invite_users_using_qr_code_or_link_test".
[2/7] Visiting: 001_002_add_user_direct_test
[2/7] Captured video for "001_002_add_user_direct_test".
[3/7] Visiting: 001_003_login_using_school_link_test
[3/7] Captured video for "001_003_login_using_school_link_test".
[4/7] Visiting: 002_001_user_add_apps_playlists_and_bookmarks_to_school_test
[4/7] Captured video for "002_001_user_add_apps_playlists_and_bookmarks_to_school_test".
[5/7] Visiting: 002_002_browse_demo_app_test
[5/7] Captured video for "002_002_browse_demo_app_test".
[6/7] Visiting: 003_admin_user_assigns_assignment_to_a_class_test
[6/7] Captured video for "003_admin_user_assigns_assignment_to_a_class_test".
[7/7] Visiting: 006_user_send_feedback_test
[7/7] Captured video for "006_user_send_feedback_test".
Wrote 7 video URL(s) to cypress/downloads/video_urls.txt
    ✓ Login and save video URLs to text file (102231ms)


  1 passing (2m)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        1                                                                                │
  │ Passing:      1                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  8                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     1 minute, 42 seconds                                                             │
  │ Spec Ran:     extract-maestro-video-urls.cy.js                                                 │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Screenshots)

  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v    (1000x1343)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Das               
     hboard.png                                                                                     
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v   (1000x10089)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_inv               
     ite_users_using_qr_code_or_link_test.png                                                       
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v   (1000x12329)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add               
     _user_direct_test.png                                                                          
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v    (1000x2471)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_log               
     in_using_school_link_test.png                                                                  
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v    (1000x7983)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_use               
     r_add_apps_playlists_and_bookmarks_to_school_test.png                                          
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v    (1000x3335)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_bro               
     wse_demo_app_test.png                                                                          
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v   (1000x16513)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_u               
     ser_assigns_assignment_to_a_class_test.png                                                     
  -  /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/.maestro/v    (1000x2155)
     ideo-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_se               
     nd_feedback_test.png                                                                           


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  extract-maestro-video-urls.cy.js         01:42        1        1        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        01:42        1        1        -        -        -  

Cypress finished successfully.
------------------------------------------------
Video URL file found. Starting downloads...
------------------------------------------------
Downloading: 001_001_invite_users_using_qr_code_or_link_test -> cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4
Downloading: 001_002_add_user_direct_test -> cypress/downloads/001_002_add_user_direct_test_.mp4
Downloading: 001_003_login_using_school_link_test -> cypress/downloads/001_003_login_using_school_link_test_.mp4
Downloading: 002_001_user_add_apps_playlists_and_bookmarks_to_school_test -> cypress/downloads/002_001_user_add_apps_playlists_and_bookmarks_to_school_test_.mp4
Downloading: 002_002_browse_demo_app_test -> cypress/downloads/002_002_browse_demo_app_test_.mp4
Downloading: 003_admin_user_assigns_assignment_to_a_class_test -> cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4
Downloading: 006_user_send_feedback_test -> cypress/downloads/006_user_send_feedback_test_.mp4
------------------------------------------------
Downloads completed in cypress/downloads
-rw-r--r-- 1 jenkins jenkins 7.6M Aug 18 23:06 cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4
-rw-r--r-- 1 jenkins jenkins  14M Aug 18 23:17 cypress/downloads/001_002_add_user_direct_test_.mp4
-rw-r--r-- 1 jenkins jenkins 1.1M Aug 18 23:05 cypress/downloads/001_003_login_using_school_link_test_.mp4
-rw-r--r-- 1 jenkins jenkins 2.1M Aug 18 23:03 cypress/downloads/002_001_user_add_apps_playlists_and_bookmarks_to_school_test_.mp4
-rw-r--r-- 1 jenkins jenkins 2.4M Aug 18 23:20 cypress/downloads/002_002_browse_demo_app_test_.mp4
-rw-r--r-- 1 jenkins jenkins  13M Aug 18 23:18 cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4
-rw-r--r-- 1 jenkins jenkins 736K Aug 18 23:07 cypress/downloads/006_user_send_feedback_test_.mp4
Process completed successfully.
ci-run-e2e-tests: Maestro test completed. Workspaces are in /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/workspace
All databases passed integrity check.
ci-run-e2e-tests: Stopping TestServerController : pid=1727056
ci-run-maestro: Archiving test artifacts...
ci-run-maestro: Artifacts zipped to /home/jenkins/.jenkins/workspace/dev-playlists-links-end-to-end-tests/build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260818_232250.zip
Build step 'Execute shell' marked build as failure
Archiving artifacts
Recording test results
[Checks API] No suitable checks publisher found.
[Slack Notifications] found #90 as previous completed, non-aborted build
[Slack Notifications] will send OnEveryFailureNotification because build matches and user preferences allow it
Finished: FAILURE