<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>dev-playlists-links Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/changes</link><description>dev-playlists-links Git changes</description><item><title>#128 Change selection handling on OpdsFeedDetail to use indexes because the Opds spec provides no promise of providing identifiers, or that thosse identifiers will be unique. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/128/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/128/changes#detail0</guid><pubDate>Tue, 18 Aug 2026 00:05:00 +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/learningunit/list/OpdsFeedDetailViewModel.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedItemIndex.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/SetExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt
</description></item><item><title>#128 Fixes for selecting navigation feeds from OpdsFeedEdit (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/128/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/128/changes#detail1</guid><pubDate>Tue, 18 Aug 2026 00:05:00 +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/util/ext/ReadiumLinkExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsDocument.kt
</description></item><item><title>#128 Implement support for selecting multiple feeds in OpdsFeedEdit. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/128/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/128/changes#detail2</guid><pubDate>Tue, 18 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt
</description></item><item><title>#127 Tidying up opds feed detail and edit screens. Tidyup reordering logic. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/127/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/127/changes#detail0</guid><pubDate>Mon, 17 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt
</description></item><item><title>#127 Finish splitting up OpdsFeedEdit screen into files by component. Remove passing modifier as drag handle modifier. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/127/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/127/changes#detail1</guid><pubDate>Mon, 17 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt
</description></item><item><title>#127 Update OpdsFeedEdit user interface to use list items instead of buttons for add section, collection link, learning item link. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/127/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/127/changes#detail2</guid><pubDate>Mon, 17 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt
</description></item><item><title>#125 Name learning unit list as per opds terminology (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/125/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/125/changes#detail0</guid><pubDate>Sat, 15 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.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/playlists/collections/edit/PlaylistEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.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/learningunit/list/LearningUnitListHeader.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.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/learningunit/list/OpdsFeedHeader.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt
</description></item><item><title>#124 build fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/124/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/124/changes#detail0</guid><pubDate>Fri, 14 Aug 2026 06:55:56 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
</description></item><item><title>#123 Add XAPI SQL Query receipe readme. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail0</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md
respect-lib-xapi-core/README_XAPI_SQL_QUERY.md
</description></item><item><title>#123 Fix cache db migration (migration referenced old field name). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail1</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +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>#123 Share flow updated (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail2</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#123 Remove unnecessary FeedActionButton that was really just a duplicate of RespectQuickActionButton (went against DRY principle). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail3</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail3</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt
</description></item><item><title>#123 Tidyup work in progress: (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail4</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail4</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/playlists/collections/edit/PlaylistEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt
</description></item><item><title>#123 More tidy up of learning unit list : fix selection if icons, and fix display of header icon and description. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail5</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail5</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt
</description></item><item><title>#123 Hide assign button when there are no assignable publications. Padding fixes. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/123/changes#detail6</link><guid isPermaLink="false">job/dev-playlists-links/123/changes#detail6</guid><pubDate>Fri, 14 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt
</description></item><item><title>#122 remove the id from test file (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail0</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#122 Fix 002_001 test file (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail1</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt
.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
</description></item><item><title>#122 Revert (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail2</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
</description></item><item><title>#122 Updated app name (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail3</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail3</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#122 Fix the flow (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail4</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail4</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt
.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
</description></item><item><title>#122 added hidekeyboard when Task is hidden by keyboard (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail5</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail5</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#122 updated home (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail6</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail6</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#122 Clean up (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/122/changes#detail7</link><guid isPermaLink="false">job/dev-playlists-links/122/changes#detail7</guid><pubDate>Thu, 13 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
ci-run-e2e-tests.sh
</description></item><item><title>#121 Added bookmark and playlist to one test (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail0</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
.maestro/flows/002_001_browse_lessons_test.yaml
.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml
</description></item><item><title>#121 Added tags to test only the failed tests (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail1</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
ci-run-e2e-tests.sh
</description></item><item><title>#121 Updated the Classes locator to its  id: "nav_classes" (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail2</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
.maestro/flows/subflows/admin_add_new_student_to_class.yaml
.maestro/flows/subflows/admin_add_class.yaml
.maestro/flows/subflows/admin_add_student.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#121 Fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail3</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail3</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#121 added tag (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail4</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail4</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#121 updated test (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail5</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail5</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#121 updated test id (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail6</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail6</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#121 updated title comments (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/121/changes#detail7</link><guid isPermaLink="false">job/dev-playlists-links/121/changes#detail7</guid><pubDate>Wed, 12 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml
</description></item><item><title>#120 refactor: extract web page metadata from Open Graph tags instead of using a WebView (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/120/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/120/changes#detail0</guid><pubDate>Tue, 11 Aug 2026 12:57:02 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt
respect-lib-shared/build.gradle.kts
</description></item><item><title>#118 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/118/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/118/changes#detail0</guid><pubDate>Mon, 10 Aug 2026 15:09:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.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/playlists/collections/edit/PlaylistEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
</description></item><item><title>#117 Resolved the comments and move PlaylistDetail into its own files (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/117/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/117/changes#detail0</guid><pubDate>Mon, 10 Aug 2026 12:27:16 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt
</description></item><item><title>#117 Resolved the comments and move PlaylistDetail into its own files (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/117/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/117/changes#detail1</guid><pubDate>Mon, 10 Aug 2026 12:27:16 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt
</description></item><item><title>#116 Added SchoolcountryDetector. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail0</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 added the GetCountryForUrlUseCase to lookup the country for a given URL (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail1</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Added the implementation of the usecase (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail2</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 set White flag foe unknown country (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail3</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail3</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Chnage the Endpoint (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail4</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail4</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Chnage the Endpoint (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail5</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail5</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Remove the X-forwared-ip (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail6</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail6</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Remove the white flag (default one being for just test purpose) (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail7</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail7</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 chane the end pointurl (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail8</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail8</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Add CountryFlag component for displaying flags (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail9</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail9</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail10</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail10</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Modify App koin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail11</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail11</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 Modify App koin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail12</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail12</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 refactor: replace string type with URL for schoolUrl (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail13</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail13</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Modify AppKoin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail14</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail14</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 -Created SharedFeedback Screen and its viewmodel (added in app route, appNavHost, app koin) (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail15</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail15</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.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/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Refactor: Remove redundant content descriptions (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail16</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail16</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Added functionality to open whatsapp to a default number and also when click on public forum opening respect website (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail17</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail17</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
respect-datalayer-repository/log/respect-server.2026-01-14.0.log
respect-lib-shared/log/respect-server.2026-01-14.0.log
</description></item><item><title>#116 merged main (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail18</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail18</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
</description></item><item><title>#116 feat: Add feedback form to Share Feedback screen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail19</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail19</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
gradle/wrapper/gradle-wrapper.properties
gradle/libs.versions.toml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
gradle.properties
</description></item><item><title>#116 Adds optional phone number and email fields to the "Share Feedback" screen. These fields are displayed only when the user agrees to be contacted by checking a box. The phone number input utilizes the `RespectPhoneNumberTextField` component. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail20</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail20</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Introduced an `EmailLauncher` to enable users to send feedback via email. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail21</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail21</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Implemented Zammad ticket creation for feedback (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail22</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail22</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Refactor: remove unused accountManager (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail23</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail23</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 creating list of category from string.xml (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail24</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail24</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 feat: Implement feedback submission functionality (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail25</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail25</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 feat: Implement feedback ticket submission (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail26</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail26</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 Refactored share feedback view model (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail27</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail27</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Refact: Move feedback data source to school data source (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail28</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail28</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#116 Refactor: Renamed `ticketTitle` to `subject` for clarity. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail29</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail29</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Moved hardcoded values for WhatsApp, web URLs, and email recipients to a companion object in `ShareFeedbackViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail30</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail30</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Moved hardcoded values for WhatsApp, web URLs, and email recipients to a companion object in `ShareFeedbackViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail31</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail31</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 feat: Add validation to share feedback screen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail32</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail32</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Refactor (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail33</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail33</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/domain/feedback/FeedbackCategory.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.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/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Refactor (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail34</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail34</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 feat: Removed email from contact validation on feedback form. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail35</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail35</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 feat: Removed email from contact validation on feedback form. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail36</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail36</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Fix: Share feedback contact validation (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail37</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail37</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail38</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail38</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail39</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail39</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail40</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail40</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
</description></item><item><title>#116 The contact validation error message, which applies to both phone and email fields, has been moved from the phone number field to the email field to ensure it's always visible. Additionally, the validation logic is updated to require at least one contact method (phone or email) when the feedback checkbox is selected, and a new string resource for this validation message has been added. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail41</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail41</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Refactor: Separate contact field validation on feedback form (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail42</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail42</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 feat: Add feedback submitted screen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail43</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail43</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail44</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail44</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail45</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail45</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail46</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail46</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail47</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail47</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
</description></item><item><title>#116 Appends the user's phone number to the body of the feedback ticket being created. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail48</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail48</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/build.gradle.kts
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#116 feat: Display submission error on feedback form (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail49</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail49</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 added end-to-end test (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail50</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail50</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#116 feat: Cleared share feedback screen from backstack (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail51</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail51</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 refactor (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail52</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail52</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
</description></item><item><title>#116 Refactor contact validation error on feedback form (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail53</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail53</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Update Gradle and remove log files (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail54</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail54</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle/wrapper/gradle-wrapper.properties
gradle/libs.versions.toml
respect-datalayer-repository/log/respect-server.2026-01-14.0.log
gradle.properties
</description></item><item><title>#116 Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail55</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail55</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/build.gradle.kts
</description></item><item><title>#116 added validations (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail56</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail56</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/add_person_create_account.yaml
.maestro/flows/004_user_send_feedback_test.yaml
.maestro/flows/subflows/school_user_login_flow.yaml
</description></item><item><title>#116 refactor: Integrate FeedbackDataSource into SchoolDataSource (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail57</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail57</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#116 Handle feedback submission errors and hide navigation (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail58</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail58</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
</description></item><item><title>#116 Refactor: Append "UseCase" to launcher class names (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail59</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail59</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt
</description></item><item><title>#116 Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail60</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail60</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/build.gradle.kts
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-lib-shared/build.gradle.kts
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#116 feat: Refactored feedback property names for clarity and consistency. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail61</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail61</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/build.gradle.kts
respect-app-compose/build.gradle.kts
</description></item><item><title>#116 Update build.gradle.kts (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail62</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail62</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/build.gradle.kts
</description></item><item><title>#116 Update AppKoinModule.kt (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail63</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail63</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 feat: Integrate Zammad for feedback submission and refactor configuration (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail64</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail64</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt
respect-lib-shared/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/build.gradle.kts
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
</description></item><item><title>#116 feat: Display Zammad ticket ID on feedback submission screen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail65</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail65</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
</description></item><item><title>#116 removed feedback changes from 003 (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail66</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail66</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#116 feat: Hide Zammad ticket ID on feedback submission screen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail67</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail67</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
</description></item><item><title>#116 Refactor: Remove redundant quotes in error message string (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail68</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail68</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
</description></item><item><title>#116 Refactor: Clear error message on submit (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail69</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail69</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 removed feedback changes from 003 (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail70</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail70</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
</description></item><item><title>#116 removed (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail71</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail71</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
</description></item><item><title>#116 feat: Update feedback response string (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail72</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail72</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
</description></item><item><title>#116 updated (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail73</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail73</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
.maestro/flows/subflows/school_admin_login_flow.yaml
</description></item><item><title>#116 refactor: Removed unused log file and import. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail74</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail74</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/log/respect-server.2026-01-14.0.log
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 feat: Update feedback form strings for clarity (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail75</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail75</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
</description></item><item><title>#116 Hide the user account icon on the "Share Feedback" and "Feedback Submitted" screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail76</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail76</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
</description></item><item><title>#116 updated API call (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail77</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail77</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
ci-run-maestro.sh
.gitignore
.maestro/flows/scripts/verifyZammadTicket.js
</description></item><item><title>#116 updated API call (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail78</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail78</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
</description></item><item><title>#116 updated maestro.sh (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail79</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail79</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#116 updated 004 test (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail80</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail80</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
</description></item><item><title>#116 The `FeedbackCategory` enum has been refactored This change is reflected in the `ShareFeedbackScreen` (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail81</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail81</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 The `FeedbackCategory` enum has been refactored This change is reflected in the `ShareFeedbackScreen` (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail82</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail82</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
</description></item><item><title>#116 Refactor: Cleaned up feedback submission code (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail83</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail83</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt
</description></item><item><title>#116 Refactor: Cleaned up feedback submission code (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail84</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail84</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 refactor: Improve Share Feedback screen code structure and accessibility (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail85</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail85</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 updated properties file path (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail86</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail86</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
ci-run-maestro.sh
.maestro/flows/scripts/verifyZammadTicket.js
</description></item><item><title>#116 updated properties file path (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail87</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail87</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
.maestro/flows/scripts/verifyZammadTicket.js
</description></item><item><title>#116 updated (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail88</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail88</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#116 updated maestro.sh file (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail89</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail89</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#116 chore: Add server logs to gitignore. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail90</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail90</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/log/respect-server.2026-02-01.0.log
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/log/respect-server.2026-01-30.0.log
respect-lib-shared/log/respect-server.2026-01-29.0.log
respect-datalayer-repository/log/respect-server.2026-01-30.0.log
respect-lib-shared/log/respect-server.2026-02-01.0.log
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
</description></item><item><title>#116 chore: Add server logs to gitignore. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail91</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail91</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/log/respect-server.2026-01-29.0.log
respect-lib-shared/log/respect-server.2026-01-30.0.log
respect-datalayer-repository/log/respect-server.2026-02-01.0.log
respect-datalayer-repository/log/respect-server.2026-01-30.0.log
respect-lib-shared/log/respect-server.2026-02-01.0.log
</description></item><item><title>#116 updated maestro.sh file (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail92</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail92</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/add_person_create_account.yaml
</description></item><item><title>#116 updated case (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail93</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail93</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
.maestro/flows/scripts/verifyZammadTicket.js
</description></item><item><title>#116 updated url (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail94</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail94</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#116 test cleanup (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail95</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail95</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
.maestro/flows/scripts/verifyZammadTicket.js
</description></item><item><title>#116 Refactor: Consolidate email launching logic into LaunchSendEmailUseCase. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail96</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail96</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt
</description></item><item><title>#116 feat: using material theme (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail97</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail97</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt
</description></item><item><title>#116 test - updated test description (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail98</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail98</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_user_send_feedback_test.yaml
respect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.md
respect-test-end-to-end/README.md
respect-test-end-to-end/test-description/006_002_user_send_feedback_test.md
.maestro/flows/006_002_user_send_feedback_test.yaml
respect-test-end-to-end/test-description/007_001_user_signup_using_passkey_test_description.md
</description></item><item><title>#116 Update FeedbackCategory.kt (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail99</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail99</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt
</description></item><item><title>#116 Remove (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail100</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail100</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
</description></item><item><title>#116 Remove Zammad (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail101</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail101</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/sharefeedback/FeedbackSubmittedScreen.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt
</description></item><item><title>#116 Remove Zammad (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail102</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail102</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#116 Remove Zammad (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail103</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail103</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/build.gradle.kts
.gitignore
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/sharefeedback/ShareFeedbackScreen.kt
</description></item><item><title>#116 Refactor (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail104</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail104</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-test-end-to-end/test-description/007_001_user_signup_using_passkey_test_description.md
respect-test-end-to-end/test-description/006_002_user_send_feedback_test.md
</description></item><item><title>#116 Refactor (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail105</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail105</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt
</description></item><item><title>#116 Remove `006_002_user_send_feedback_test.yaml` and replace it with a refactored `006_user_send_feedback_test.yaml` Maestro flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail106</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail106</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/006_user_send_feedback_test.yaml
.maestro/flows/006_002_user_send_feedback_test.yaml
</description></item><item><title>#116 Update the `006_user_send_feedback_test.yaml` Maestro flow to change the visibility assertion from "UstadMobile/Respect" to "Welcome to discussions!" following the "Public forum" tap action. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail107</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail107</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/006_user_send_feedback_test.yaml
</description></item><item><title>#116 changes in `.maestro/video-downloader/ci-run-cypress.sh` and `.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js`. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail108</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail108</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js
.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Summarize the changes in `.maestro/video-downloader/ci-run-cypress.sh` and `.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js`. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail109</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail109</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js
.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Delete `.maestro/flows/scripts/verifyZammadTicket.js` and its associated logic for validating Zammad environment variables and verifying support ticket creation via the API. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail110</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail110</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/scripts/verifyZammadTicket.js
</description></item><item><title>#116 Improve the robustness and reliability of the Maestro video downloader script and Cypress extraction logic. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail111</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail111</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js
.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Add `test` tag to Maestro flows and update `ci-run-maestro.sh` to exclude them from CI runs. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail112</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail112</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#116 Add a logging task to the Cypress configuration for the video downloader. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail113</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail113</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/cypress.config.js
</description></item><item><title>#116 Remove `test` tags from Maestro flows and update CI script to include all tests. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail114</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail114</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#116 Update `cypress` version to 15.18.1 and clean up comments in the CI script. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail115</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail115</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/package.json
.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Add debug logging for Node.js, npm, and environment path in `ci-run-cypress.sh`. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail116</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail116</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Update `ci-run-cypress.sh` to use Node.js version 20.20.2 via NVM. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail117</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail117</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Remove Node version management commands from the Cypress CI script. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail118</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail118</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Configure Node.js version 20.20.2 using NVM in the Cypress CI script. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail119</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail119</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/ci-run-cypress.sh
</description></item><item><title>#116 Update `extract-maestro-video-urls.cy.js` to include a pause during OTP polling and improve code comments. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail120</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail120</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js
</description></item><item><title>#116 Updates for improved local on-prem testing (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail121</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail121</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/scripts/school_init.js
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/subflows/teardown.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
respect-lib-opds-model/build.gradle.kts
gradle.properties
.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/README.md
.maestro/flows/scripts/teardown.js
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
ci-run-maestro.sh
README_ADD_YOUR_APP.md
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt
</description></item><item><title>#116 Maestro device offline reproduction with additional logging. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail122</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail122</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt
.maestro/flows/002_browse_lessons_test.yaml
respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
ci-run-maestro.sh
respect-lib-xapi-nanohttpd/build.gradle.kts
</description></item><item><title>#116 update learning unit detail screen initial commit (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail123</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail123</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/learningunit/detail/LearningUnitDetailViewModel.kt
respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json
respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/GetLicenseLabelUseCase.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt
</description></item><item><title>#116 Add highlight card functionality and related links in AppsDetailScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail124</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail124</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
</description></item><item><title>#116 Remove extra character in wrong place in ci-run-maestro.sh script. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail125</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail125</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#116 Update version of TestServerController. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail126</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail126</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.kt
ci-run-maestro.sh
ci-run-test-server.sh
respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt
</description></item><item><title>#116 Rename ci-run-maestro script to ci-run-e2e-tests.sh (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail127</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail127</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
ci-run-maestro.sh
ci-run-e2e-tests.sh
ci-run-test-server.sh
</description></item><item><title>#116 Update SendDbToServerScreen and e2e_artifact_upload to avoid artifact upload failure when no db created yet blocking server shutdown. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail128</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail128</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/e2e_artifact_upload.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt
</description></item><item><title>#116 Fix Application.kt to create required data directory (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail129</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail129</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.kt
</description></item><item><title>#116 Update login to use auto-retry and show appropriate error messages. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail130</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail130</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt
</description></item><item><title>#116 Update PersonListViewModel: don't load from datasource when not needed on clicking an item in the list in browse mode. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail131</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail131</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt
</description></item><item><title>#116 Removed unused Constants.kt (from Android Studio project template). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail132</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail132</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kt
</description></item><item><title>#116 Fix Opds Subject storage to/from database. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail133</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail133</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt
respect-lib-opds-model/src/jvmTest/resources/lesson001.json
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt
respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt
</description></item><item><title>#116 Add RespectDataLoadHost component. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail134</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail134</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt
</description></item><item><title>#116 Update RespectDataLoadHost and DataLoadExtension functions to handle not found scenarios. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail135</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail135</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt
respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt
</description></item><item><title>#116 Minor adjustments to learning unit detail screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail136</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail136</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
</description></item><item><title>#116 ADd demo app route. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail137</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail137</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.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/demoapp/DemoConstants.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt
</description></item><item><title>#116 Set icon on demo app (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail138</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail138</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt
respect-server/src/main/resources/demoapp/app_icon.png
</description></item><item><title>#116 Add demo launchable app to respect-server. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail139</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail139</guid><pubDate>Mon, 10 Aug 2026 00:05: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/Application.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.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
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt
</description></item><item><title>#116 Added Highlight card, Google play nad license label functionality and update AppsDetailScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail140</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail140</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt
respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json
respect-app-compose/src/androidMain/res/raw/license_label_json
respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt
respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt
respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json
</description></item><item><title>#116 Add icons for collections in demo app. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail141</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail141</guid><pubDate>Mon, 10 Aug 2026 00:05: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/Application.kt
respect-server/src/main/resources/demoapp/credits.txt
respect-server/src/main/resources/demoapp/grade.jpg
respect-server/src/main/resources/demoapp/books.png
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt
</description></item><item><title>#116 Added Highlight card, Google play nad license label functionality and update AppsDetailScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail142</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail142</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
</description></item><item><title>#116 Pre-modularization. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail143</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail143</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle/libs.versions.toml
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXml.kt
respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlTest.kt
</description></item><item><title>#116 update lesson detail screen with license and subject tag (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail144</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail144</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png
respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json
</description></item><item><title>#116 Update license label in AppsDetailScreen and modify string resource for clarity (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail145</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail145</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
</description></item><item><title>#116 merge dev-learning-unit branch to update-learning-unit-detail-screen to use getLicenseLabelUseCase (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail146</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail146</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/GetLicenseLabelUseCase.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
</description></item><item><title>#116 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail147</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail147</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
</description></item><item><title>#116 Enhance AppsDetailScreen with app description and update license button text for clarity (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail148</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail148</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/apps/detail/AppsDetailViewModel.kt
respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
</description></item><item><title>#116 Refactor LearningUnitDetail Screen (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail149</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail149</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
</description></item><item><title>#116 Update to AGP9 and Kotlin 2.4.10 (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail150</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail150</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-test-resources/build.gradle.kts
respect-lib-primarykeygen/build.gradle.kts
app-android/build.gradle.kts
respect-lib-ihttp-core/build.gradle.kts
respect-lib-ihttp-okhttp/build.gradle.kts
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt
respect-datalayer-http/build.gradle.kts
respect-lib-xapi-ipc-client/build.gradle.kts
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt
gradle/libs.versions.toml
respect-lib-util/build.gradle.kts
respect-lib-dataloadstate/build.gradle.kts
respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt
app-android/src/main/AndroidManifest.xml
respect-lib-xapi-ipc-server/build.gradle.kts
respect-lib-xxhash/build.gradle.kts
respect-lib-ihttp-iostreams/build.gradle.kts
respect-lib-xapi-core/build.gradle.kts
respect-app-compose/src/androidMain/AndroidManifest.xml
respect-credentials/build.gradle.kts
respect-lib-xapi-ipc-shared/build.gradle.kts
respect-datalayer-db/build.gradle.kts
respect-lib-serializers/build.gradle.kts
respect-app-compose/proguard-rules.pro
app-android/proguard-rules.pro
respect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt
app-android/src/main/kotlin/world/respect/RespectApp.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt
respect-lib-test/build.gradle.kts
respect-lib-cache/build.gradle.kts
respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt
respect-server/build.gradle.kts
gradle/wrapper/gradle-wrapper.properties
respect-lib-shared/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt
respect-datalayer/build.gradle.kts
respect-lib-ihttp-nanohttpd/build.gradle.kts
app-android/src/main/kotlin/world/respect/AbstractAppActivity.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kt
respect-app-compose/build.gradle.kts
respect-datalayer-repository/build.gradle.kts
respect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kt
app-android/src/main/kotlin/world/respect/MainActivity.kt
settings.gradle.kts
respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt
respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt
respect-lib-opds-model/build.gradle.kts
respect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kt
gradle.properties
respect-lib-shared-se/build.gradle.kts
respect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt
respect-lib-xapi-nanohttpd/build.gradle.kts
</description></item><item><title>#116 Refactor AppsDetailScreen and ViewModel for improved clarity and functionality; update app titles and string resources (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail151</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail151</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json
respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
</description></item><item><title>#116 Rename `002_browse_lessons_test.yaml` to `002_001_browse_lessons_test.yaml` and add a new Maestro test flow `002_002_browse_demo_app_test.yaml` to verify the "Demo Launchable App" functionality, including metadata verification and lesson navigation. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail152</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail152</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/002_002_browse_demo_app_test.yaml
.maestro/flows/002_001_browse_lessons_test.yaml
</description></item><item><title>#116 Update `.gitignore` to ignore the `.maestro/flows/.maestro/screenshots` directory. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail153</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail153</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.gitignore
</description></item><item><title>#116 Update e2e testing script and doc to use new APK location. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail154</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail154</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
app-android/src/main/AndroidManifest.xml
ci-run-e2e-tests.sh
</description></item><item><title>#116 Remove "app name" visible assertion. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail155</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail155</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kt
gradle.properties
</description></item><item><title>#116 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail156</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail156</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/detail/LearningUnitDetailScreen.kt
respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json
</description></item><item><title>#116 Update assertion and tap action text from "Add App" to "Add to school apps" in `002_001_browse_lessons_test.yaml`. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail157</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail157</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_001_browse_lessons_test.yaml
</description></item><item><title>#116 Update `admin_add_app.yaml` subflow to tap on "Add to school apps" instead of "Add App". (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail158</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail158</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_app.yaml
</description></item><item><title>#116 Merge app and learning unit detail updates. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail159</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail159</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
</description></item><item><title>#116 Tidyup share feedback. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail160</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail160</guid><pubDate>Mon, 10 Aug 2026 00:05: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/openexternallink/OpenExternalLinkUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt
</description></item><item><title>#116 Fix 002-002 browse to remove extra space that causes maestro test to fail. Remove assertion that relies on content of an external site. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail161</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail161</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_002_browse_demo_app_test.yaml
</description></item><item><title>#116 Fix 002_002 remove incorrect assert visible and fix expected license info. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail162</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail162</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_002_browse_demo_app_test.yaml
</description></item><item><title>#116 Fix feedback maestro flow (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail163</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail163</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/006_user_send_feedback_test.yaml
</description></item><item><title>#116 Update README.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail164</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail164</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README.md
</description></item><item><title>#116 Dev bookmark xapi (#272) (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail165</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail165</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/6.json
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
.maestro/flows/002_001_browse_lessons_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt
.maestro/flows/002_002_browse_demo_app_test.yaml
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/5.json
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js
respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.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/domain/bookmark/RemoveBookmarkUseCase.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt
respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
.maestro/flows/001_003_login_using_school_link_test.yaml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt
.maestro/flows/subflows/admin_add_app.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt
</description></item><item><title>#116 Improve Maestro test stability (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail166</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail166</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_new_student_to_class.yaml
.maestro/flows/subflows/admin_add_student.yaml
.maestro/flows/subflows/add_person_create_account.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/002_001_browse_lessons_test.yaml
.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#116 Add XmlUtil and TinCanXmlDocument for deserialization. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail167</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail167</guid><pubDate>Mon, 10 Aug 2026 00:05: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/model/TinCanXmlDocument.kt
respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlTest.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXml.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt
respect-lib-xapi-core/build.gradle.kts
</description></item><item><title>#116 Update PinPublicationPrepareUseCase to include the manifest itself and images. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail168</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail168</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt
</description></item><item><title>#116 Improve logging for UstadCacheInterceptor and ConnectivityMonitorAndroid.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail169</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail169</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt
respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt
</description></item><item><title>#116 Add logging on UstadCacheInterceptor even when not applying further processing. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail170</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail170</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt
</description></item><item><title>#116 Update UstadCache to use a Channel to batch and execute database updates instead of an interval. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail171</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail171</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
ci-run-e2e-tests.sh
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt
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>#116 Improvements to reduce potential flakiness in Login and improve authentication logging. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail172</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail172</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt
respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt
</description></item><item><title>#116 Dependency version updates. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail173</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail173</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/AndroidManifest.xml
respect-lib-ihttp-iostreams/build.gradle.kts
respect-lib-ihttp-core/build.gradle.kts
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt
gradle/wrapper/gradle-wrapper.properties
gradle/libs.versions.toml
gradle.properties
</description></item><item><title>#116 Start adding support to output the demo launchable app to static files. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail174</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail174</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Initial usage of TinCan.xml in GetXapiLaunchUrlUseCaseAndroid.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail175</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail175</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Work in progress: add support to write demo app as static files. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail176</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail176</guid><pubDate>Mon, 10 Aug 2026 00:05: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/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt
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/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt
</description></item><item><title>#116 Write demo app lesson manifest as file or use in Ktor route. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail177</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail177</guid><pubDate>Mon, 10 Aug 2026 00:05: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/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.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>#116 Add tincan.xml to demo app output on Ktor server route and static files output. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail178</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail178</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Initial implementation of demo app lesson html to send an xAPI statement (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail179</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail179</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Update demo app HTML/JS version to mirror the native Android version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail180</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail180</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Update save demo app to files to include lesson HTML and Javascript. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail181</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail181</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Update demo naming to follow terminology. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail182</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail182</guid><pubDate>Mon, 10 Aug 2026 00:05: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/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
respect-server/src/main/resources/demoapp/learning_unit_xapi.js
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>#116 Fix demo app links. Bump version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail183</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail183</guid><pubDate>Mon, 10 Aug 2026 00:05: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
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt
gradle.properties
</description></item><item><title>#116 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/dev-playlists-links/116/changes#detail184</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail184</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/src/main/kotlin/world/respect/AppKoinModule.kt
app-android/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#116 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/dev-playlists-links/116/changes#detail185</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail185</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 Add tincan.xml for exampels/lesson 001 (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail186</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail186</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail187</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail187</guid><pubDate>Mon, 10 Aug 2026 00:05: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
app-android/build.gradle.kts
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#116 Add index.html for demo app. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail188</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail188</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-server/src/main/resources/demoapp/index.html
respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt
</description></item><item><title>#116 Make terminology consistent: use collection instead of catalog. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail189</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail189</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README_ADD_YOUR_APP.md
respect-lib-opds-model/README_LAUNCHABLE_APP.md
</description></item><item><title>#116 Make learning unit consistent with demo.openeel.org. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail190</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail190</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README_ADD_YOUR_APP.md
</description></item><item><title>#116 Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail191</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail191</guid><pubDate>Mon, 10 Aug 2026 00:05: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><item><title>#116 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/dev-playlists-links/116/changes#detail192</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail192</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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>#116 Update UstadCacheImpl.kt and test to improve handling closing the database/cache (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail193</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail193</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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/distributed/DistributedCacheHashtableIntegrationTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
</description></item><item><title>#116 Make maestro tests wait for all pending remote writs to complete. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail194</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail194</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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>#116 Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail195</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail195</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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>#116 Bump version (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail196</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail196</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle.properties
</description></item><item><title>#116 Bump version (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail197</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail197</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle.properties
</description></item><item><title>#116 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/dev-playlists-links/116/changes#detail198</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail198</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +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>#116 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/dev-playlists-links/116/changes#detail199</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail199</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/e2e_artifact_upload.yaml
</description></item><item><title>#116 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/dev-playlists-links/116/changes#detail200</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail200</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
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>#116 Remove concurrency issue: update cache commit backlog size only after db transaction has finished. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail201</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail201</guid><pubDate>Mon, 10 Aug 2026 00:05: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/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
</description></item><item><title>#116 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail202</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail202</guid><pubDate>Mon, 10 Aug 2026 00:05: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>#116 GeoIp lookup tidyup (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/116/changes#detail203</link><guid isPermaLink="false">job/dev-playlists-links/116/changes#detail203</guid><pubDate>Mon, 10 Aug 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.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></channel></rss>