<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>499</buildNumber><marked><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><branch><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><branch><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><branch><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>app-android-debug.apk</displayPath><fileName>app-android-debug.apk</fileName><relativePath>app-android/build/outputs/apk/debug/app-android-debug.apk</relativePath></artifact><artifact><displayPath>app-android-release.apk</displayPath><fileName>app-android-release.apk</fileName><relativePath>app-android/build/outputs/apk/release/app-android-release.apk</relativePath></artifact><artifact><displayPath>app-android-debug.aab</displayPath><fileName>app-android-debug.aab</fileName><relativePath>app-android/build/outputs/bundle/debug/app-android-debug.aab</relativePath></artifact><artifact><displayPath>app-android-release.aab</displayPath><fileName>app-android-release.aab</fileName><relativePath>app-android/build/outputs/bundle/release/app-android-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>app-android/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#499</displayName><duration>173328</duration><estimatedDuration>180857</estimatedDuration><fullDisplayName>RESPECT-Primary #499</fullDisplayName><id>499</id><inProgress>false</inProgress><keepLog>false</keepLog><number>499</number><queueId>11541</queueId><result>SUCCESS</result><timestamp>1788269299536</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/499/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><commitId>94fb283538e4668d8f7e0f1a8722e0b335e69c36</commitId><timestamp>1787908657000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve support for launching native apps using intent uri and custom action.

Intent uri can be used by compatible apps to specify that a native app is required to open a publication. A specific action intent can be used to support dynamic domains (e.g. on apps where the user can specify their own server, making verified app links impossible).
</comment><date>2026-08-28 13:17:37 +0400</date><id>94fb283538e4668d8f7e0f1a8722e0b335e69c36</id><msg>Improve support for launching native apps using intent uri and custom action.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><commitId>e6c78c1186adb61644e90402ca52deda4724d3fa</commitId><timestamp>1787910703000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add non-https support to query for org.openeel.action.LAUNCH
</comment><date>2026-08-28 13:51:43 +0400</date><id>e6c78c1186adb61644e90402ca52deda4724d3fa</id><msg>Add non-https support to query for org.openeel.action.LAUNCH</msg><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/MainActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/SubmitActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><commitId>d10f9c64824de16973cd67b2548a978a5b26d5f4</commitId><timestamp>1787925647000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add support to show app installation prompt.
</comment><date>2026-08-28 18:00:47 +0400</date><id>d10f9c64824de16973cd67b2548a978a5b26d5f4</id><msg>Add support to show app installation prompt.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/MainActivity.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/SubmitActivityContextJobUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</affectedPath><commitId>382c3b245cb544ee8e01b89bd67c909a0a163f3a</commitId><timestamp>1787927780000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add referrer parameter when directing users to an app store.
</comment><date>2026-08-28 18:36:20 +0400</date><id>382c3b245cb544ee8e01b89bd67c909a0a163f3a</id><msg>Add referrer parameter when directing users to an app store.</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</affectedPath><commitId>4f9b0028accce4af732cbc094e632d6fa2c20d82</commitId><timestamp>1787928409000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add referrer parameter when directing users to an app store.
</comment><date>2026-08-28 18:46:49 +0400</date><id>4f9b0028accce4af732cbc094e632d6fa2c20d82</id><msg>Add referrer parameter when directing users to an app store.</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/MainActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/SubmitActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><commitId>adb4fd184baff20a4069382ff26a6a57ab31ecb3</commitId><timestamp>1788094820000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename install prompt to GoToAppStore.

Update SavePasswordUseCase to use activity context processor.
</comment><date>2026-08-30 17:00:20 +0400</date><id>adb4fd184baff20a4069382ff26a6a57ab31ecb3</id><msg>Rename install prompt to GoToAppStore.</msg><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseProcessor.kt</file></path><path><editType>edit</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/MainActivity.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/SubmitActivityContextJobUseCase.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><commitId>db1f7b231d0caf93995bea64b72fbfecd5d2765e</commitId><timestamp>1788096442000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add mobile only lessons to the demoapp catalog.
</comment><date>2026-08-30 17:27:22 +0400</date><id>db1f7b231d0caf93995bea64b72fbfecd5d2765e</id><msg>Add mobile only lessons to the demoapp catalog.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>8a654eaaf39c5ada415dc3289b329710cc1e08d5</commitId><timestamp>1788097416000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_ADD_YOUR_APP.md to add guidance on handling publications that require a native app.
</comment><date>2026-08-30 17:43:36 +0400</date><id>8a654eaaf39c5ada415dc3289b329710cc1e08d5</id><msg>Update README_ADD_YOUR_APP.md to add guidance on handling publications that require a native app.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>bdfeefc27719949eaf47dee0ddd2f2bbb1c9a169</commitId><timestamp>1788106071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_ADD_YOUR_APP.md to add guidance on intent filter.
</comment><date>2026-08-30 20:07:51 +0400</date><id>bdfeefc27719949eaf47dee0ddd2f2bbb1c9a169</id><msg>Update README_ADD_YOUR_APP.md to add guidance on intent filter.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><commitId>76a3f81564d1ca947cfb1665b7b53c04b62972e3</commitId><timestamp>1788162043000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add initial language map for multilingual launchable app demo.
</comment><date>2026-08-31 11:40:43 +0400</date><id>76a3f81564d1ca947cfb1665b7b53c04b62972e3</id><msg>Add initial language map for multilingual launchable app demo.</msg><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><commitId>7a3da32354ec1188fbc09f228f562c409c5815d1</commitId><timestamp>1788181028000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update demo app to show multiple language versions.
</comment><date>2026-08-31 16:57:08 +0400</date><id>7a3da32354ec1188fbc09f228f562c409c5815d1</id><msg>Update demo app to show multiple language versions.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><commitId>ed81ce23b4e4d297704f361b7f7dc66bb31e0835</commitId><timestamp>1788187739000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update demo app examples to include multiple languages.
</comment><date>2026-08-31 18:48:59 +0400</date><id>ed81ce23b4e4d297704f361b7f7dc66bb31e0835</id><msg>Update demo app examples to include multiple languages.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><commitId>a85c3071dcea57d0b8f5b8991ff83b8e95219bac</commitId><timestamp>1788188325000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update demoapp index.html
</comment><date>2026-08-31 18:58:45 +0400</date><id>a85c3071dcea57d0b8f5b8991ff83b8e95219bac</id><msg>Update demoapp index.html</msg><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>contrib/language-names.ods</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><commitId>45162fda4d8ae2a78b1073cadbb6193a9fb70f31</commitId><timestamp>1788261154000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add support to display alternative language versions for apps and learning units.
</comment><date>2026-09-01 15:12:34 +0400</date><id>45162fda4d8ae2a78b1073cadbb6193a9fb70f31</id><msg>Add support to display alternative language versions for apps and learning units.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>add</editType><file>contrib/language-names.ods</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><commitId>0c734ef1853f901413b6829b2339531eac50b9cb</commitId><timestamp>1788263695000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update grade collection title.
</comment><date>2026-09-01 15:54:55 +0400</date><id>0c734ef1853f901413b6829b2339531eac50b9cb</id><msg>Update grade collection title.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><commitId>b2f8a9f343fe8863b4d372dc809b614870d335a5</commitId><timestamp>1788264635000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix OpdsRespectRepositoryIntegrationTest.kt compilation
</comment><date>2026-09-01 16:10:35 +0400</date><id>b2f8a9f343fe8863b4d372dc809b614870d335a5</id><msg>Fix OpdsRespectRepositoryIntegrationTest.kt compilation</msg><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>5052d265d464808f675b60958901c2c3f96d979e</commitId><timestamp>1788269163000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_ADD_YOUR_APP.md documentation on loading offline resources.
</comment><date>2026-09-01 17:26:03 +0400</date><id>5052d265d464808f675b60958901c2c3f96d979e</id><msg>Update README_ADD_YOUR_APP.md documentation on loading offline resources.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></freeStyleBuild>