<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>dev-schoolapp-listing Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/changes</link><description>dev-schoolapp-listing Git changes</description><item><title>#12 Migrate legacy school apps to xAPI stream during account scope creation. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/12/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/12/changes#detail0</guid><pubDate>Thu, 11 Jun 2026 14:56:02 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/migrate/MigrateSchoolAppsToXapi.kt
respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt
</description></item><item><title>#12 Remove `migrateSchoolAppsToXapi` utility and clean up `ServerAccountScopeManager` logic. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/12/changes#detail1</link><guid isPermaLink="false">job/dev-schoolapp-listing/12/changes#detail1</guid><pubDate>Thu, 11 Jun 2026 14:56:02 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/migrate/MigrateSchoolAppsToXapi.kt
respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt
</description></item><item><title>#12 Revert "Remove `migrateSchoolAppsToXapi` utility and clean up `ServerAccountScopeManager` logic." (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/12/changes#detail2</link><guid isPermaLink="false">job/dev-schoolapp-listing/12/changes#detail2</guid><pubDate>Thu, 11 Jun 2026 14:56:02 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/migrate/MigrateSchoolAppsToXapi.kt
respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt
</description></item><item><title>#12 Revert "Migrate legacy school apps to xAPI stream during account scope creation." (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/12/changes#detail3</link><guid isPermaLink="false">job/dev-schoolapp-listing/12/changes#detail3</guid><pubDate>Thu, 11 Jun 2026 14:56:02 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/migrate/MigrateSchoolAppsToXapi.kt
</description></item><item><title>#10 Improvements for Xapi based data handling : work in progress. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/10/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/10/changes#detail0</guid><pubDate>Wed, 10 Jun 2026 14:34:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt
respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/LangMapExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/App.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt
</description></item><item><title>#10 Initial implementation of lang map edit field. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/10/changes#detail1</link><guid isPermaLink="false">job/dev-schoolapp-listing/10/changes#detail1</guid><pubDate>Wed, 10 Jun 2026 14:34:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/SelectLang.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapEditField.kt
</description></item><item><title>#10 Initial implementation of lang map edit field. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/10/changes#detail2</link><guid isPermaLink="false">job/dev-schoolapp-listing/10/changes#detail2</guid><pubDate>Wed, 10 Jun 2026 14:34:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapEditField.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/LangMapExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/SelectLang.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/langMapString.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt
</description></item><item><title>#10 Fix AssignmentEditScreen (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/10/changes#detail3</link><guid isPermaLink="false">job/dev-schoolapp-listing/10/changes#detail3</guid><pubDate>Wed, 10 Jun 2026 14:34:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
</description></item><item><title>#10 Remove use of old langmap getTitle function. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/10/changes#detail4</link><guid isPermaLink="false">job/dev-schoolapp-listing/10/changes#detail4</guid><pubDate>Wed, 10 Jun 2026 14:34:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/DisplayString.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt
</description></item><item><title>#10 Update app title and description to use language maps in xAPI statements and AppListScreen. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/10/changes#detail5</link><guid isPermaLink="false">job/dev-schoolapp-listing/10/changes#detail5</guid><pubDate>Wed, 10 Jun 2026 14:34:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
</description></item><item><title>#9 Refactor `XapiAppListingConstants` to use constants from `XapiVerb` and `OpenEelXapiConstants` directly. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/9/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/9/changes#detail0</guid><pubDate>Wed, 10 Jun 2026 00:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
</description></item><item><title>#8 Remove unused errorMessage from AppLauncherViewModel and add logging to AppListViewModel's app click handler. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/8/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/8/changes#detail0</guid><pubDate>Tue, 9 Jun 2026 11:36:08 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt
</description></item><item><title>#7 Add xAPI extension functions required for common use cases. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/7/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/7/changes#detail0</guid><pubDate>Tue, 9 Jun 2026 00:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-repository/log/respect-server.2026-05-04.0.log
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/AssignmentResultExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActorExt.kt
</description></item><item><title>#7 Add environment variables that can be used to set the url of the test app manifest for maestro testing. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/7/changes#detail1</link><guid isPermaLink="false">job/dev-schoolapp-listing/7/changes#detail1</guid><pubDate>Tue, 9 Jun 2026 00:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
.maestro/flows/subflows/admin_add_app.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/scripts/school_init.js
</description></item><item><title>#7 Update ci-run-maestro to pass TEST_APP_URL argument through. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/7/changes#detail2</link><guid isPermaLink="false">job/dev-schoolapp-listing/7/changes#detail2</guid><pubDate>Tue, 9 Jun 2026 00:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#7 Improve error message logging in xapi_assignable_unit.js . (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/7/changes#detail3</link><guid isPermaLink="false">job/dev-schoolapp-listing/7/changes#detail3</guid><pubDate>Tue, 9 Jun 2026 00:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js
respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html
</description></item><item><title>#6 Remove `getAppListAsFlow` and associated XAPI application listing extensions. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/6/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/6/changes#detail0</guid><pubDate>Mon, 8 Jun 2026 13:15:25 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt
</description></item><item><title>#6 Refactor app listing and management to use xAPI statements instead of SchoolApp data sources. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/6/changes#detail1</link><guid isPermaLink="false">job/dev-schoolapp-listing/6/changes#detail1</guid><pubDate>Mon, 8 Jun 2026 13:15:25 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
</description></item><item><title>#3 Implement xAPI app listing recipe and replace AppListingSummary with XapiStatement extension properties. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-schoolapp-listing/3/changes#detail0</link><guid isPermaLink="false">job/dev-schoolapp-listing/3/changes#detail0</guid><pubDate>Sat, 6 Jun 2026 00:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AppListingSummary.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
</description></item></channel></rss>