<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>RESPECT-Primary Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/changes</link><description>RESPECT-Primary Git changes</description><item><title>#483 Add helper functions for use of statement extension properties. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/483/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/483/changes#detail0</guid><pubDate>Mon, 17 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt
</description></item><item><title>#478 Fix cache db migration (migration referenced old field name). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/478/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/478/changes#detail0</guid><pubDate>Wed, 12 Aug 2026 15:06:43 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt
gradle.properties
</description></item><item><title>#476 Add XAPI SQL Query receipe readme. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/476/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/476/changes#detail0</guid><pubDate>Tue, 11 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md
respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md
</description></item><item><title>#475 Added SchoolcountryDetector. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail0</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt
</description></item><item><title>#475 added the GetCountryForUrlUseCase to lookup the country for a given URL (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail1</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail1</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt
</description></item><item><title>#475 Added the implementation of the usecase (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail2</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail2</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 set White flag foe unknown country (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail3</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail3</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 Chnage the Endpoint (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail4</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail4</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 Chnage the Endpoint (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail5</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail5</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 Remove the X-forwared-ip (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail6</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail6</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 Remove the white flag (default one being for just test purpose) (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail7</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail7</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
</description></item><item><title>#475 chane the end pointurl (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail8</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail8</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 Add CountryFlag component for displaying flags (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail9</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail9</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#475 refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail10</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail10</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
</description></item><item><title>#475 Modify App koin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail11</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail11</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#475 Modify App koin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail12</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail12</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#475 refactor: replace string type with URL for schoolUrl (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail13</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail13</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#475 Modify AppKoin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail14</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail14</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#475 Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail15</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail15</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/build.gradle.kts
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#475 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail16</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail16</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
app-android/build.gradle.kts
</description></item><item><title>#475 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail17</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail17</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#475 GeoIp lookup tidyup (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/475/changes#detail18</link><guid isPermaLink="false">job/RESPECT-Primary/475/changes#detail18</guid><pubDate>Mon, 10 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
app-android/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#470 moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/470/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/470/changes#detail0</guid><pubDate>Thu, 6 Aug 2026 13:12:14 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/e2e_artifact_upload.yaml
.maestro/flows/subflows/teardown.yaml
</description></item><item><title>#470 Waiting for pending remote writes to complete is done after setting the device back to online. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/470/changes#detail1</link><guid isPermaLink="false">job/RESPECT-Primary/470/changes#detail1</guid><pubDate>Thu, 6 Aug 2026 13:12:14 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/e2e_artifact_upload.yaml
</description></item><item><title>#470 Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/470/changes#detail2</link><guid isPermaLink="false">job/RESPECT-Primary/470/changes#detail2</guid><pubDate>Thu, 6 Aug 2026 13:12:14 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt
gradle.properties
</description></item><item><title>#470 Remove concurrency issue: update cache commit backlog size only after db transaction has finished. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/470/changes#detail3</link><guid isPermaLink="false">job/RESPECT-Primary/470/changes#detail3</guid><pubDate>Thu, 6 Aug 2026 13:12:14 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
</description></item><item><title>#469 Bump version (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/469/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/469/changes#detail0</guid><pubDate>Wed, 5 Aug 2026 22:09:16 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle.properties
</description></item><item><title>#469 Bump version (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/469/changes#detail1</link><guid isPermaLink="false">job/RESPECT-Primary/469/changes#detail1</guid><pubDate>Wed, 5 Aug 2026 22:09:16 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle.properties
</description></item><item><title>#467 Make maestro tests wait for all pending remote writs to complete. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/467/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/467/changes#detail0</guid><pubDate>Wed, 5 Aug 2026 21:59:48 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/teardown.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt
</description></item><item><title>#467 Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/467/changes#detail1</link><guid isPermaLink="false">job/RESPECT-Primary/467/changes#detail1</guid><pubDate>Wed, 5 Aug 2026 21:59:48 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt
</description></item><item><title>#466 Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/466/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/466/changes#detail0</guid><pubDate>Wed, 5 Aug 2026 15:48:22 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt
</description></item><item><title>#466 Update UstadCacheImpl.kt and test to improve handling closing the database/cache (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/466/changes#detail1</link><guid isPermaLink="false">job/RESPECT-Primary/466/changes#detail1</guid><pubDate>Wed, 5 Aug 2026 15:48:22 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt
</description></item><item><title>#465 Add XmlUtil and TinCanXmlDocument for deserialization. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail0</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail0</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXml.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt
respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlTest.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt
respect-lib-xapi-core/build.gradle.kts
</description></item><item><title>#465 Start adding support to output the demo launchable app to static files. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail1</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail1</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt
.fleet/receipt.json
</description></item><item><title>#465 Initial usage of TinCan.xml in GetXapiLaunchUrlUseCaseAndroid.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail2</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail2</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt
</description></item><item><title>#465 Work in progress: add support to write demo app as static files. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail3</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail3</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt
</description></item><item><title>#465 Write demo app lesson manifest as file or use in Ktor route. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail4</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail4</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt
respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonManifestUseCase.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt
</description></item><item><title>#465 Add tincan.xml to demo app output on Ktor server route and static files output. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail5</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail5</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonTinCanXmlUseCase.kt
</description></item><item><title>#465 Initial implementation of demo app lesson html to send an xAPI statement (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail6</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail6</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonHtmlUseCase.kt
respect-server/src/main/resources/demoapp/lesson_xapi.js
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonTinCanXmlUseCase.kt
respect-server/src/main/resources/demoapp/xapi_module.js
</description></item><item><title>#465 Update demo app HTML/JS version to mirror the native Android version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail7</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail7</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonHtmlUseCase.kt
respect-server/src/main/resources/demoapp/lesson_xapi.js
</description></item><item><title>#465 Update save demo app to files to include lesson HTML and Javascript. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail8</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail8</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonHtmlUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonManifestUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
</description></item><item><title>#465 Update demo naming to follow terminology. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail9</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail9</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt
respect-server/src/main/resources/demoapp/lesson_xapi.js
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonManifestUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonTinCanXmlUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLessonHtmlUseCase.kt
respect-server/src/main/resources/demoapp/learning_unit_xapi.js
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt
</description></item><item><title>#465 Fix demo app links. Bump version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail10</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail10</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-cache/build.gradle.kts
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt
gradle.properties
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt
</description></item><item><title>#465 Fix potential for flakiness in UstadCacheJvmTest where update had not yet been committed to the database. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail11</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail11</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
</description></item><item><title>#465 Add tincan.xml for exampels/lesson 001 (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail12</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail12</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml
</description></item><item><title>#465 Add index.html for demo app. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail13</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail13</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/demoapp/index.html
respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
</description></item><item><title>#465 Make terminology consistent: use collection instead of catalog. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail14</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail14</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-opds-model/README_LAUNCHABLE_APP.md
README_ADD_YOUR_APP.md
</description></item><item><title>#465 Make learning unit consistent with demo.openeel.org. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail15</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail15</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README_ADD_YOUR_APP.md
</description></item><item><title>#465 Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/465/changes#detail16</link><guid isPermaLink="false">job/RESPECT-Primary/465/changes#detail16</guid><pubDate>Wed, 5 Aug 2026 14:11:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt
</description></item></channel></rss>