<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>527</buildNumber><marked><SHA1>f5b2101794cee462f4762fb905166fc802d5cd74</SHA1><branch><SHA1>f5b2101794cee462f4762fb905166fc802d5cd74</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>f5b2101794cee462f4762fb905166fc802d5cd74</SHA1><branch><SHA1>f5b2101794cee462f4762fb905166fc802d5cd74</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>f5b2101794cee462f4762fb905166fc802d5cd74</SHA1><branch><SHA1>f5b2101794cee462f4762fb905166fc802d5cd74</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>app-android-debug.apk</displayPath><fileName>app-android-debug.apk</fileName><relativePath>app-android/build/outputs/apk/debug/app-android-debug.apk</relativePath></artifact><artifact><displayPath>app-android-release.apk</displayPath><fileName>app-android-release.apk</fileName><relativePath>app-android/build/outputs/apk/release/app-android-release.apk</relativePath></artifact><artifact><displayPath>app-android-debug.aab</displayPath><fileName>app-android-debug.aab</fileName><relativePath>app-android/build/outputs/bundle/debug/app-android-debug.aab</relativePath></artifact><artifact><displayPath>app-android-release.aab</displayPath><fileName>app-android-release.aab</fileName><relativePath>app-android/build/outputs/bundle/release/app-android-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>app-android/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>app-cli-1.0.46a.zip</displayPath><fileName>app-cli-1.0.46a.zip</fileName><relativePath>app-cli/build/distributions/app-cli-1.0.46a.zip</relativePath></artifact><artifact><displayPath>app-server-1.0.46a.zip</displayPath><fileName>app-server-1.0.46a.zip</fileName><relativePath>app-server/build/distributions/app-server-1.0.46a.zip</relativePath></artifact><artifact><displayPath>app-server-shadow-1.0.46a.zip</displayPath><fileName>app-server-shadow-1.0.46a.zip</fileName><relativePath>app-server/build/distributions/app-server-shadow-1.0.46a.zip</relativePath></artifact><building>false</building><displayName>#527</displayName><duration>147411</duration><estimatedDuration>195401</estimatedDuration><fullDisplayName>RESPECT-Primary #527</fullDisplayName><id>527</id><inProgress>false</inProgress><keepLog>false</keepLog><number>527</number><queueId>30</queueId><result>SUCCESS</result><timestamp>1790158260257</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/527/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><commitId>f3acd9c68e215c54cf4b734f3052c7560f5de7cb</commitId><timestamp>1773210046000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Initial commit
</comment><date>2026-03-11 11:50:46 +0530</date><id>f3acd9c68e215c54cf4b734f3052c7560f5de7cb</id><msg>Initial commit</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><commitId>1dab74ce9dc687cfb2f9f4a2f2557ddeb51157db</commitId><timestamp>1773210126000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>added tab
</comment><date>2026-03-11 11:52:06 +0530</date><id>1dab74ce9dc687cfb2f9f4a2f2557ddeb51157db</id><msg>added tab</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>875314a97fbe0f5dbcbc5243a903186066b6da0d</commitId><timestamp>1773720518000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>playlist screen added
</comment><date>2026-03-17 09:38:38 +0530</date><id>875314a97fbe0f5dbcbc5243a903186066b6da0d</id><msg>playlist screen added</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><commitId>40d75ac779568c00e4d723c0ea483207a9f89146</commitId><timestamp>1773720541000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>playlist screen added
</comment><date>2026-03-17 09:39:01 +0530</date><id>40d75ac779568c00e4d723c0ea483207a9f89146</id><msg>playlist screen added</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><commitId>580608493b9da19f08d4b63e14d3fe0134800c39</commitId><timestamp>1773728227000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the myplaylist
</comment><date>2026-03-17 11:47:07 +0530</date><id>580608493b9da19f08d4b63e14d3fe0134800c39</id><msg>fix the myplaylist</msg><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/001_003_login_using_school_link_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_app.yaml</affectedPath><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_test.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_app_and_teacher.yaml</affectedPath><affectedPath>.maestro/flows/subflows/school_admin_login_flow.yaml</affectedPath><commitId>2f6f43e7182d8b30964a2e99eef1dec9abfaddd6</commitId><timestamp>1773826009000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>test: Update UI labels in Maestro flows and add Playlist browse test
</comment><date>2026-03-18 13:26:49 +0400</date><id>2f6f43e7182d8b30964a2e99eef1dec9abfaddd6</id><msg>test: Update UI labels in Maestro flows and add Playlist browse test</msg><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html</file></path><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/school_admin_login_flow.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_003_login_using_school_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app_and_teacher.yaml</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</affectedPath><commitId>b8e87d5a025c6113d599d1f4c55b0dc997b3bb58</commitId><timestamp>1773826041000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add Lesson 002 to grade1.json
</comment><date>2026-03-18 13:27:21 +0400</date><id>b8e87d5a025c6113d599d1f4c55b0dc997b3bb58</id><msg>Add Lesson 002 to grade1.json</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</affectedPath><commitId>0dddce7f3937a7a79477feeb87aac00f8c45c57f</commitId><timestamp>1773827167000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add Lesson 002 to grade1.json
</comment><date>2026-03-18 13:46:07 +0400</date><id>0dddce7f3937a7a79477feeb87aac00f8c45c57f</id><msg>Add Lesson 002 to grade1.json</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>7228fdf9ee643ce0e84084d239ac640c5766ec1c</commitId><timestamp>1773837406000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>test - updated maestro flows
</comment><date>2026-03-18 16:36:46 +0400</date><id>7228fdf9ee643ce0e84084d239ac640c5766ec1c</id><msg>test - updated maestro flows</msg><path><editType>add</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>64a2d4db16d5854606753bd322cff9120556c606</commitId><timestamp>1773841435000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the homescreen
</comment><date>2026-03-18 19:13:55 +0530</date><id>64a2d4db16d5854606753bd322cff9120556c606</id><msg>fix the homescreen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>c930eea4dc30645d6c87c6d79d58f3b12197f122</commitId><timestamp>1773931137000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the homescreen
</comment><date>2026-03-19 20:08:57 +0530</date><id>c930eea4dc30645d6c87c6d79d58f3b12197f122</id><msg>fix the homescreen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>85425a966905dabe7c0d7778848cfe7d31ca9dc2</commitId><timestamp>1773974447000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>added the edit screen
</comment><date>2026-03-20 08:10:47 +0530</date><id>85425a966905dabe7c0d7778848cfe7d31ca9dc2</id><msg>added the edit screen</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>263821cc27ab97df3024c5318d2f31052bf746a1</commitId><timestamp>1774246743000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>add share screen
</comment><date>2026-03-23 11:49:03 +0530</date><id>263821cc27ab97df3024c5318d2f31052bf746a1</id><msg>add share screen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>cc00308dfdfbd09db9f346bf4d8ea49ec508de67</commitId><timestamp>1774323572000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix Playlist share screen
</comment><date>2026-03-24 09:09:32 +0530</date><id>cc00308dfdfbd09db9f346bf4d8ea49ec508de67</id><msg>fix Playlist share screen</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><commitId>2037bc479fede5e569ed0a3b2131f466aff9609e</commitId><timestamp>1774327037000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>added the releation link
</comment><date>2026-03-24 10:07:17 +0530</date><id>2037bc479fede5e569ed0a3b2131f466aff9609e</id><msg>added the releation link</msg><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><commitId>e1b0c5da2beb1eae41bbb076c9efc5c458898d0e</commitId><timestamp>1774331388000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the build error
</comment><date>2026-03-24 11:19:48 +0530</date><id>e1b0c5da2beb1eae41bbb076c9efc5c458898d0e</id><msg>fix the build error</msg><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>8ec867d48c5d044950ba57ca8d95635abcd5eab7</commitId><timestamp>1774407164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility
</comment><date>2026-03-25 06:52:44 +0400</date><id>8ec867d48c5d044950ba57ca8d95635abcd5eab7</id><msg>update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>88e4dba3f10f19b75c688850e23ccec2bfe3da3f</commitId><timestamp>1774425574000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility
</comment><date>2026-03-25 11:59:34 +0400</date><id>88e4dba3f10f19b75c688850e23ccec2bfe3da3f</id><msg>update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/001_002_add_user_direct_test.yaml</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>ec5adb2e9cf84c581896e392bca250f73bdaa32c</commitId><timestamp>1774436063000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro test flows for user and app management
</comment><date>2026-03-25 14:54:23 +0400</date><id>ec5adb2e9cf84c581896e392bca250f73bdaa32c</id><msg>Update Maestro test flows for user and app management</msg><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_test.yaml</affectedPath><commitId>d856a57d1a0cbac59cc379b891aa89043a690235</commitId><timestamp>1774438771000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro test flows to reflect UI change from "Apps" to "Home" title text
</comment><date>2026-03-25 15:39:31 +0400</date><id>d856a57d1a0cbac59cc379b891aa89043a690235</id><msg>Update Maestro test flows to reflect UI change from "Apps" to "Home" title text</msg><path><editType>edit</editType><file>.maestro/flows/001_005_add_school_self_registration_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>7bb4dd1529b6c4c34438035e21aeb1989de5e1e6</commitId><timestamp>1774438933000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Updated `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to match UI text change for playlist creation.
</comment><date>2026-03-25 15:42:13 +0400</date><id>7bb4dd1529b6c4c34438035e21aeb1989de5e1e6</id><msg>Updated `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to match UI text change for playlist creation.</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><commitId>d29cb262b304057688bda325188896e9f1572ad0</commitId><timestamp>1774444646000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix test for "home" and added the id
</comment><date>2026-03-25 18:47:26 +0530</date><id>d29cb262b304057688bda325188896e9f1572ad0</id><msg>fix test for "home" and added the id</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>fa64b7437e81aede55693575dd2b6b8a00a7f195</commitId><timestamp>1774448363000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update and refine Maestro end-to-end test flows for user assignments and playlists
</comment><date>2026-03-25 18:19:23 +0400</date><id>fa64b7437e81aede55693575dd2b6b8a00a7f195</id><msg>Update and refine Maestro end-to-end test flows for user assignments and playlists</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>b5f453d555913a41674a72dc9db4c5202c126dcc</commitId><timestamp>1774520442000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the code
</comment><date>2026-03-26 15:50:42 +0530</date><id>b5f453d555913a41674a72dc9db4c5202c126dcc</id><msg>fix the code</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>dfbb11fe8266866c03db6bd38615617fcaf00c48</commitId><timestamp>1774530971000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>implement playlist selection logic and improve validation in PlaylistEdit

- Implement selection logic in `LearningUnitListViewModel` to allow picking specific navigation items (e.g., Grades) for playlists.
- Update `LearningUnitListScreen` to highlight selected navigation items and disable the "Select Playlist" button until a selection is made.
- Refactor `PlaylistEditViewModel` to use `UiText` for title validation errors and display a "required field" message.
- Update UI labels and strings, changing "Lesson/assessment" to "Task" and adding required field indicators.
- Adjust Maestro test flow to reflect updated navigation and UI labels.
</comment><date>2026-03-26 18:46:11 +0530</date><id>dfbb11fe8266866c03db6bd38615617fcaf00c48</id><msg>implement playlist selection logic and improve validation in PlaylistEdit</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><commitId>8b2e2a825e6d37ecef707b0dba3d3863d849bf0f</commitId><timestamp>1774533712000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the test
</comment><date>2026-03-26 19:31:52 +0530</date><id>8b2e2a825e6d37ecef707b0dba3d3863d849bf0f</id><msg>fix the test</msg><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><commitId>f7d30dc821ed2fca00fd73ea0759644a7b8a20eb</commitId><timestamp>1774534177000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>update labels in AssignmentEditScreen
</comment><date>2026-03-26 19:39:37 +0530</date><id>f7d30dc821ed2fca00fd73ea0759644a7b8a20eb</id><msg>update labels in AssignmentEditScreen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>48c4c8d4501f3ee4c0672c15c2cac286db2d33ef</commitId><timestamp>1774539154000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>update labels in AssignmentEditScreen
</comment><date>2026-03-26 21:02:34 +0530</date><id>48c4c8d4501f3ee4c0672c15c2cac286db2d33ef</id><msg>update labels in AssignmentEditScreen</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>8083d5a443274b140ea22ef9b2ebf350589f3a00</commitId><timestamp>1774544379000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the assignment to follow the flow.
</comment><date>2026-03-26 22:29:39 +0530</date><id>8083d5a443274b140ea22ef9b2ebf350589f3a00</id><msg>fix the assignment to follow the flow.</msg><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>c4fa61370719913d8c6e1b40c63dec00d3da3c7f</commitId><timestamp>1774579892000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>update titles in respect-ds and adjust Maestro test assertions
</comment><date>2026-03-27 08:21:32 +0530</date><id>c4fa61370719913d8c6e1b40c63dec00d3da3c7f</id><msg>update titles in respect-ds and adjust Maestro test assertions</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><commitId>198e19d89322723e32e41d5df63ee470857c34e6</commitId><timestamp>1774588069000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the flow.
</comment><date>2026-03-27 10:37:49 +0530</date><id>198e19d89322723e32e41d5df63ee470857c34e6</id><msg>fix the flow.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>29c0b7270b53a708c924007572ad6b11c41cd724</commitId><timestamp>1774591339000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the flow.
</comment><date>2026-03-27 11:32:19 +0530</date><id>29c0b7270b53a708c924007572ad6b11c41cd724</id><msg>fix the flow.</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>35702c3d6796269401935e7a0356bcf463250e9c</commitId><timestamp>1774593135000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix the flow.
</comment><date>2026-03-27 12:02:15 +0530</date><id>35702c3d6796269401935e7a0356bcf463250e9c</id><msg>fix the flow.</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>c020b51fdd3557389cfc0524594c1e0055581603</commitId><timestamp>1774601800000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Refactor learning unit selection and playlist editing.

- Update Maestro test flows for improved playlist and section assertions.
- Refactor `LearningUnitListScreen` to simplify multi-select UI and improve bottom button logic for playlist selection.
- Update `LearningUnitListViewModel` to handle playlist picking mode, supporting `ReadiumLink` results and preventing multi-select of publications during playlist selection.
- Improve `PlaylistEditViewModel` to correctly resolve playlist titles and navigation links when adding items to sections.
- Refine section type detection in `PlaylistEditScreen` to properly distinguish between navigation and publication sections.
- Remove redundant app bar state restoration calls in `PlaylistEditScreen`.
</comment><date>2026-03-27 14:26:40 +0530</date><id>c020b51fdd3557389cfc0524594c1e0055581603</id><msg>Refactor learning unit selection and playlist editing.</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>a3f4e5f74644f1d9d9bb1b91d0640729091e49a0</commitId><timestamp>1774604390000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.
</comment><date>2026-03-27 15:09:50 +0530</date><id>a3f4e5f74644f1d9d9bb1b91d0640729091e49a0</id><msg>Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>6635c3829a71b25306606edaf5a009aafe606080</commitId><timestamp>1774604621000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.
</comment><date>2026-03-27 15:13:41 +0530</date><id>6635c3829a71b25306606edaf5a009aafe606080</id><msg>Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>2047444347fcccefe9b35e34b80641ad6f794e52</commitId><timestamp>1774609080000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Assignment support
</comment><date>2026-03-27 16:28:00 +0530</date><id>2047444347fcccefe9b35e34b80641ad6f794e52</id><msg>Assignment support</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>ffb2b1df0be25f4c733b758c84f1eecabe3fbfa3</commitId><timestamp>1774610164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix assignment navigation
</comment><date>2026-03-27 16:46:04 +0530</date><id>ffb2b1df0be25f4c733b758c84f1eecabe3fbfa3</id><msg>fix assignment navigation</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>3fe851221009338b67708e32a6e116de489cfb0b</commitId><timestamp>1774613727000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>update maestro test flow and fix element IDs
</comment><date>2026-03-27 17:45:27 +0530</date><id>3fe851221009338b67708e32a6e116de489cfb0b</id><msg>update maestro test flow and fix element IDs</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>35b286fe088742cb79ddaa32db5932359fb26038</commitId><timestamp>1774728753000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix share
</comment><date>2026-03-29 01:42:33 +0530</date><id>35b286fe088742cb79ddaa32db5932359fb26038</id><msg>fix share</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>f9f0efa7bf52de1412f44f2c2c5e867b98909e5c</commitId><timestamp>1774764627000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor assignmentedit
</comment><date>2026-03-29 11:40:27 +0530</date><id>f9f0efa7bf52de1412f44f2c2c5e867b98909e5c</id><msg>refactor assignmentedit</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>4669e4ff928fd37c382a0d4bdc4b1a00789a73b9</commitId><timestamp>1774839194000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix assignment navigation
</comment><date>2026-03-30 08:23:14 +0530</date><id>4669e4ff928fd37c382a0d4bdc4b1a00789a73b9</id><msg>fix assignment navigation</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>650ef92d057fd7233e884749b066598e807fa43a</commitId><timestamp>1774845461000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>update maestro test flow to hide keyboard
</comment><date>2026-03-30 10:07:41 +0530</date><id>650ef92d057fd7233e884749b066598e807fa43a</id><msg>update maestro test flow to hide keyboard</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt</affectedPath><commitId>e8e991241066679204db500e38e4187b1ad7011d</commitId><timestamp>1775023507000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Add GetActiveUsernameUseCase and refactor Playlist handling
</comment><date>2026-04-01 11:35:07 +0530</date><id>e8e991241066679204db500e38e4187b1ad7011d</id><msg>Add GetActiveUsernameUseCase and refactor Playlist handling</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><commitId>abc7088eee293f837c41ee15896c1474c8c3ff61</commitId><timestamp>1775126753000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Refactor PlaylistListViewModel
</comment><date>2026-04-02 16:15:53 +0530</date><id>abc7088eee293f837c41ee15896c1474c8c3ff61</id><msg>Refactor PlaylistListViewModel</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>a8ec34eb992ca5f545778899c7b8c94e1deaeb31</commitId><timestamp>1776244733000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>initial commit
</comment><date>2026-04-15 14:48:53 +0530</date><id>a8ec34eb992ca5f545778899c7b8c94e1deaeb31</id><msg>initial commit</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>0a3ffb13d52eba840ce9e6adbd53e1d87f2ba741</commitId><timestamp>1776423606000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>commit
</comment><date>2026-04-17 16:30:06 +0530</date><id>0a3ffb13d52eba840ce9e6adbd53e1d87f2ba741</id><msg>commit</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>6e3f531da23c5c70a5236dbfa75c142dad8dbbad</commitId><timestamp>1776429801000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include testing for adding external links to playlists and clean up unused assertions.
</comment><date>2026-04-17 16:43:21 +0400</date><id>6e3f531da23c5c70a5236dbfa75c142dad8dbbad</id><msg>Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include testing for adding external links to playlists and clean up unused assertions.</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>871718428513a5c51640ba6afc5fcd998e05b7c5</commitId><timestamp>1776761526000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Implement ExtractWebPageMetadataUseCaseAndroid for extracting metadata from web pages
</comment><date>2026-04-21 14:22:06 +0530</date><id>871718428513a5c51640ba6afc5fcd998e05b7c5</id><msg>Implement ExtractWebPageMetadataUseCaseAndroid for extracting metadata from web pages</msg><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><commitId>87261eef0e86be96c23ba5c0338ce56c140bc97d</commitId><timestamp>1776831802000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>App crash fix
</comment><date>2026-04-22 09:53:22 +0530</date><id>87261eef0e86be96c23ba5c0338ce56c140bc97d</id><msg>App crash fix</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</affectedPath><commitId>dd9f97f0ffb0314be6380a84a682ab017b635621</commitId><timestamp>1776940450000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Remove static description
</comment><date>2026-04-23 16:04:10 +0530</date><id>dd9f97f0ffb0314be6380a84a682ab017b635621</id><msg>Remove static description</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>09df43e8889d532745b48ff9d7dec2511a38c273</commitId><timestamp>1776955821000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include additional visibility assertions for lessons and sections within the Grade 1 playlist.
</comment><date>2026-04-23 18:50:21 +0400</date><id>09df43e8889d532745b48ff9d7dec2511a38c273</id><msg>Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include additional visibility assertions for lessons and sections within the Grade 1 playlist.</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><commitId>072880fa5a3d46fc7db08dc2477a4c1a0edef32a</commitId><timestamp>1776965542000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>description fix
</comment><date>2026-04-23 23:02:22 +0530</date><id>072880fa5a3d46fc7db08dc2477a4c1a0edef32a</id><msg>description fix</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><commitId>b9b576d86598fcf470e28e0fa33d7c02f8ca511e</commitId><timestamp>1777342911000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix metadata extraction
</comment><date>2026-04-28 07:51:51 +0530</date><id>b9b576d86598fcf470e28e0fa33d7c02f8ca511e</id><msg>fix metadata extraction</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><commitId>8e373d583d388fd92933666de91d3c24756e14b4</commitId><timestamp>1777383124000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix metadata extraction remove manual string amnipulation
</comment><date>2026-04-28 19:02:04 +0530</date><id>8e373d583d388fd92933666de91d3c24756e14b4</id><msg>fix metadata extraction remove manual string amnipulation</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><commitId>f162f0f676db8a098b2db18355faeaa3b89663e6</commitId><timestamp>1777383842000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>documented the callbacks
</comment><date>2026-04-28 19:14:02 +0530</date><id>f162f0f676db8a098b2db18355faeaa3b89663e6</id><msg>documented the callbacks</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><commitId>ab12e17d6fb941494cc297acebb0741e936cd42e</commitId><timestamp>1777447717000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-04-29 12:58:37 +0530</date><id>ab12e17d6fb941494cc297acebb0741e936cd42e</id><msg>fix</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt</affectedPath><commitId>7015fb47922bc795afb65dd58ff13e5185e74b4b</commitId><timestamp>1777518105000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>rename
</comment><date>2026-04-30 08:31:45 +0530</date><id>7015fb47922bc795afb65dd58ff13e5185e74b4b</id><msg>rename</msg><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>9355d72978457e5038e954d5e7b4821cf169874d</commitId><timestamp>1779258746000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-05-20 12:02:26 +0530</date><id>9355d72978457e5038e954d5e7b4821cf169874d</id><msg>fix</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>b1e8e451172906b80b1f87db76c73b350e7b0238</commitId><timestamp>1779259819000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-05-20 12:20:19 +0530</date><id>b1e8e451172906b80b1f87db76c73b350e7b0238</id><msg>fix</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><commitId>8bcd3dcfe340b0015198508de3f87ccd903972bb</commitId><timestamp>1779460935000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Clean up
</comment><date>2026-05-22 20:12:15 +0530</date><id>8bcd3dcfe340b0015198508de3f87ccd903972bb</id><msg>Clean up</msg><path><editType>edit</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><commitId>47a8dcbb6773358898f4ea11af4ab33c32f8cb78</commitId><timestamp>1779461272000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Clean up
</comment><date>2026-05-22 20:17:52 +0530</date><id>47a8dcbb6773358898f4ea11af4ab33c32f8cb78</id><msg>Clean up</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>74e819ac94fda405fe6cd605c23024ce34158da3</commitId><timestamp>1779678544000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor
</comment><date>2026-05-25 08:39:04 +0530</date><id>74e819ac94fda405fe6cd605c23024ce34158da3</id><msg>refactor</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><commitId>9909a4904ad7702fa2837fd88b20eb14ebc8f9a4</commitId><timestamp>1779702904000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Refactor screen
</comment><date>2026-05-25 15:25:04 +0530</date><id>9909a4904ad7702fa2837fd88b20eb14ebc8f9a4</id><msg>Refactor screen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><commitId>f11d2017d71ebedbf6a1c62dffb1a18a6c478b68</commitId><timestamp>1780480420000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Resolve conflicts
</comment><date>2026-06-03 15:23:40 +0530</date><id>f11d2017d71ebedbf6a1c62dffb1a18a6c478b68</id><msg>Resolve conflicts</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>61d56428b8864d6b5ceb9fafea6b3f3c4b2ed8df</commitId><timestamp>1783048801000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Resolve conflicts
</comment><date>2026-07-03 08:50:01 +0530</date><id>61d56428b8864d6b5ceb9fafea6b3f3c4b2ed8df</id><msg>Resolve conflicts</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_app.yaml</affectedPath><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><commitId>702b2a00a18701e8a1952bb51fe1e641b64eb911</commitId><timestamp>1783428690000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Fix
</comment><date>2026-07-07 18:21:30 +0530</date><id>702b2a00a18701e8a1952bb51fe1e641b64eb911</id><msg>Fix</msg><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><commitId>d9600a6eaa8e4cfa452c5c1fb1ac1a8d56e6e692</commitId><timestamp>1783428904000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Fix
</comment><date>2026-07-07 18:25:04 +0530</date><id>d9600a6eaa8e4cfa452c5c1fb1ac1a8d56e6e692</id><msg>Fix</msg><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html</affectedPath><commitId>edc1d5502f011d19890e85f7b880e088aedbc054</commitId><timestamp>1783495540000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Updated test 002 with latest app-lessons
</comment><date>2026-07-08 11:25:40 +0400</date><id>edc1d5502f011d19890e85f7b880e088aedbc054</id><msg>Updated test 002 with latest app-lessons</msg><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_app.yaml</affectedPath><commitId>e5e83360514dd24536616c5837793546adf3f35a</commitId><timestamp>1783499332000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro E2E test assertions and improve tap selector reliability.
</comment><date>2026-07-08 12:28:52 +0400</date><id>e5e83360514dd24536616c5837793546adf3f35a</id><msg>Update Maestro E2E test assertions and improve tap selector reliability.</msg><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><commitId>e0a9b2f13bc12b20d8dea483fb8baa0dfda0ed59</commitId><timestamp>1784010383000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Refactor playlist list to use `ExpandableFabUiState` for creation options.
</comment><date>2026-07-14 11:56:23 +0530</date><id>e0a9b2f13bc12b20d8dea483fb8baa0dfda0ed59</id><msg>Refactor playlist list to use `ExpandableFabUiState` for creation options.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt</affectedPath><commitId>c9b1634267ad7f19ab9fec0f4bf8e579e8fdc9ee</commitId><timestamp>1784013818000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Refactor GetActiveUsernameUseCase
</comment><date>2026-07-14 12:53:38 +0530</date><id>c9b1634267ad7f19ab9fec0f4bf8e579e8fdc9ee</id><msg>Refactor GetActiveUsernameUseCase</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><commitId>d2a44049e3eb0ab3c48e0c5be34476e82761f734</commitId><timestamp>1784016927000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Fix EnterLinkViewModel and removed the constants.
</comment><date>2026-07-14 13:45:27 +0530</date><id>d2a44049e3eb0ab3c48e0c5be34476e82761f734</id><msg>Fix EnterLinkViewModel and removed the constants.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><commitId>5773c5329499bc873dbf0c9668fb7861615ee2de</commitId><timestamp>1784022437000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-07-14 15:17:17 +0530</date><id>5773c5329499bc873dbf0c9668fb7861615ee2de</id><msg>fix</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt</affectedPath><commitId>bf1507fc675170289b54f71e41eb3c8d768cf79d</commitId><timestamp>1784033150000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Remove GetActiveUsernameUseCase
</comment><date>2026-07-14 18:15:50 +0530</date><id>bf1507fc675170289b54f71e41eb3c8d768cf79d</id><msg>Remove GetActiveUsernameUseCase</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><commitId>211c8704c35624871ed0bd8f255075e39387dfb9</commitId><timestamp>1784099849000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Refactor learning-unit selection handling in `PlaylistEditViewModel` and add documentation for result types.
</comment><date>2026-07-15 12:47:29 +0530</date><id>211c8704c35624871ed0bd8f255075e39387dfb9</id><msg>Refactor learning-unit selection handling in `PlaylistEditViewModel` and add documentation for result types.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><commitId>6c6a36cd18a6c6825126e9c9e2205e5e4729791c</commitId><timestamp>1784288128000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>rename from mapping to collections
</comment><date>2026-07-17 17:05:28 +0530</date><id>6c6a36cd18a6c6825126e9c9e2205e5e4729791c</id><msg>rename from mapping to collections</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><commitId>7d2c75f8a9b9fdc6c359ba251e266d23daa35e91</commitId><timestamp>1784617697000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Update Maestro browse lessons test to tap on "Home" instead of "Apps".
</comment><date>2026-07-21 12:38:17 +0530</date><id>7d2c75f8a9b9fdc6c359ba251e266d23daa35e91</id><msg>Update Maestro browse lessons test to tap on "Home" instead of "Apps".</msg><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><commitId>9bb4fdd6df56433d3dc3ede102808c882d3a5858</commitId><timestamp>1786349056000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Resolved the comments and move PlaylistDetail into its own files
</comment><date>2026-08-10 13:34:16 +0530</date><id>9bb4fdd6df56433d3dc3ede102808c882d3a5858</id><msg>Resolved the comments and move PlaylistDetail into its own files</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>1db81c02e16fc959287402d3587e47686aa410d2</commitId><timestamp>1786349137000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Resolved the comments and move PlaylistDetail into its own files
</comment><date>2026-08-10 13:35:37 +0530</date><id>1db81c02e16fc959287402d3587e47686aa410d2</id><msg>Resolved the comments and move PlaylistDetail into its own files</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>282524cdee6e128ac397fa66725a05177c8e7ef7</commitId><timestamp>1786354535000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-08-10 15:05:35 +0530</date><id>282524cdee6e128ac397fa66725a05177c8e7ef7</id><msg>fix</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><commitId>53d0b05c7d345080fd10305f08963104643a1057</commitId><timestamp>1786438461000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor: extract web page metadata from Open Graph tags instead of using a WebView
</comment><date>2026-08-11 14:24:21 +0530</date><id>53d0b05c7d345080fd10305f08963104643a1057</id><msg>refactor: extract web page metadata from Open Graph tags instead of using a WebView</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><commitId>efe0b96031ea0c8519ccf84a071fb2d57f48377c</commitId><timestamp>1786439047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Added bookmark and playlist to one test
</comment><date>2026-08-11 13:04:07 +0400</date><id>efe0b96031ea0c8519ccf84a071fb2d57f48377c</id><msg>Added bookmark and playlist to one test</msg><path><editType>delete</editType><file>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>delete</editType><file>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</file></path><path><editType>add</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>ci-run-e2e-tests.sh</affectedPath><commitId>8554b076a2fbae5861ad5018c419f054db722374</commitId><timestamp>1786439278000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Added tags to test only the failed tests
</comment><date>2026-08-11 13:07:58 +0400</date><id>8554b076a2fbae5861ad5018c419f054db722374</id><msg>Added tags to test only the failed tests</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path><path><editType>edit</editType><file>ci-run-e2e-tests.sh</file></path><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/admin_add_class_with_members.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_class.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_new_student_to_class.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_student.yaml</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>b3d157189eaa64e06aa86c7a8ce22c02f6c3d93e</commitId><timestamp>1786441536000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Updated the Classes locator to its  id: "nav_classes"
</comment><date>2026-08-11 13:45:36 +0400</date><id>b3d157189eaa64e06aa86c7a8ce22c02f6c3d93e</id><msg>Updated the Classes locator to its  id: "nav_classes"</msg><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_student_to_class.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><commitId>76a48f3ff7fc548e411d80078f4ab062375ffb1c</commitId><timestamp>1786443287000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Fix
</comment><date>2026-08-11 15:44:47 +0530</date><id>76a48f3ff7fc548e411d80078f4ab062375ffb1c</id><msg>Fix</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>a4a7358ca631ebfa44f42a2f3e793aa9e118b2b4</commitId><timestamp>1786446364000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>added tag
</comment><date>2026-08-11 15:06:04 +0400</date><id>a4a7358ca631ebfa44f42a2f3e793aa9e118b2b4</id><msg>added tag</msg><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>47c5d2f2bee27bebdbee47a6ec9a7482397ebac5</commitId><timestamp>1786447730000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated test
</comment><date>2026-08-11 15:28:50 +0400</date><id>47c5d2f2bee27bebdbee47a6ec9a7482397ebac5</id><msg>updated test</msg><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>b70b8deaf6198a02f8a50c983885f29a27bab894</commitId><timestamp>1786448855000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated test id
</comment><date>2026-08-11 15:47:35 +0400</date><id>b70b8deaf6198a02f8a50c983885f29a27bab894</id><msg>updated test id</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>797da502dfc983239976ada3149916f5123e24e2</commitId><timestamp>1786448897000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated title comments
</comment><date>2026-08-11 15:48:17 +0400</date><id>797da502dfc983239976ada3149916f5123e24e2</id><msg>updated title comments</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>1b38a1dd5b500233e5525b12fe6113f9722dbc4b</commitId><timestamp>1786518391000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>remove the id from test file
</comment><date>2026-08-12 12:36:31 +0530</date><id>1b38a1dd5b500233e5525b12fe6113f9722dbc4b</id><msg>remove the id from test file</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>2cdaea0bccefe15841bf42b97d4179e26b41d94d</commitId><timestamp>1786523588000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Fix 002_001 test file
</comment><date>2026-08-12 14:03:08 +0530</date><id>2cdaea0bccefe15841bf42b97d4179e26b41d94d</id><msg>Fix 002_001 test file</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>a7858bb528ce213fb6893681ed412795cab39f03</commitId><timestamp>1786525536000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Revert
</comment><date>2026-08-12 14:35:36 +0530</date><id>a7858bb528ce213fb6893681ed412795cab39f03</id><msg>Revert</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>4ae16061b309e76da716dd8def68a406d9ce8ec7</commitId><timestamp>1786529535000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Updated app name
</comment><date>2026-08-12 14:12:15 +0400</date><id>4ae16061b309e76da716dd8def68a406d9ce8ec7</id><msg>Updated app name</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><commitId>8f47f26a5766fdb86b52ac9081ea29e9ff055363</commitId><timestamp>1786532233000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Fix the flow
</comment><date>2026-08-12 16:27:13 +0530</date><id>8f47f26a5766fdb86b52ac9081ea29e9ff055363</id><msg>Fix the flow</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>4907cb57c8c52ffbde0d356b82be038bd77d0efd</commitId><timestamp>1786536624000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>added hidekeyboard when Task is hidden by keyboard
</comment><date>2026-08-12 16:10:24 +0400</date><id>4907cb57c8c52ffbde0d356b82be038bd77d0efd</id><msg>added hidekeyboard when Task is hidden by keyboard</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>5f6208ea44e2a8ed155d3522d97fef332989c82d</commitId><timestamp>1786537993000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated home
</comment><date>2026-08-12 16:33:13 +0400</date><id>5f6208ea44e2a8ed155d3522d97fef332989c82d</id><msg>updated home</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>ci-run-e2e-tests.sh</affectedPath><commitId>4326530d3b1064edd0cad451cd2b058bcca94f32</commitId><timestamp>1786538916000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Clean up
</comment><date>2026-08-12 16:48:36 +0400</date><id>4326530d3b1064edd0cad451cd2b058bcca94f32</id><msg>Clean up</msg><path><editType>edit</editType><file>ci-run-e2e-tests.sh</file></path><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>5acf713cef89b616204c6cebc327e45261da58d7</commitId><timestamp>1786610529000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Share flow updated
</comment><date>2026-08-13 12:42:09 +0400</date><id>5acf713cef89b616204c6cebc327e45261da58d7</id><msg>Share flow updated</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><commitId>58b19a1f5548e8d43a8a882763f47abaa76b8f24</commitId><timestamp>1786628834000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove unnecessary FeedActionButton that was really just a duplicate of RespectQuickActionButton (went against DRY principle).
</comment><date>2026-08-13 17:47:14 +0400</date><id>58b19a1f5548e8d43a8a882763f47abaa76b8f24</id><msg>Remove unnecessary FeedActionButton that was really just a duplicate of RespectQuickActionButton (went against DRY principle).</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><commitId>4467cb4ff388f1daa46631a38a307a673d375ba1</commitId><timestamp>1786644397000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Tidyup work in progress:

Refactor LearningUnitSelection to allow for multi selection.
Avoid crash on assigning long lists.
Handle getting xapi activity info for selecting learning units.
</comment><date>2026-08-13 19:06:37 +0100</date><id>4467cb4ff388f1daa46631a38a307a673d375ba1</id><msg>Tidyup work in progress:</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</affectedPath><commitId>b3b5ff1a73b252975705b52dd37ee53240c3af71</commitId><timestamp>1786647137000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>More tidy up of learning unit list : fix selection if icons, and fix display of header icon and description.
</comment><date>2026-08-13 19:52:17 +0100</date><id>b3b5ff1a73b252975705b52dd37ee53240c3af71</id><msg>More tidy up of learning unit list : fix selection if icons, and fix display of header icon and description.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</affectedPath><commitId>dfe364f81be88d0cfb19e81b22cc6e2a32a83e51</commitId><timestamp>1786648104000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Hide assign button when there are no assignable publications. Padding fixes.
</comment><date>2026-08-13 20:08:24 +0100</date><id>dfe364f81be88d0cfb19e81b22cc6e2a32a83e51</id><msg>Hide assign button when there are no assignable publications. Padding fixes.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><commitId>d5e3093ba8b07d22877711cc1696fa9218b4538f</commitId><timestamp>1786676075000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>build fix
</comment><date>2026-08-14 08:24:35 +0530</date><id>d5e3093ba8b07d22877711cc1696fa9218b4538f</id><msg>build fix</msg><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><commitId>e610feb08fe2e577932009177ab9e15c0748640a</commitId><timestamp>1786733411000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Name learning unit list as per opds terminology
</comment><date>2026-08-14 19:50:11 +0100</date><id>e610feb08fe2e577932009177ab9e15c0748640a</id><msg>Name learning unit list as per opds terminology</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><commitId>58f0e2413459c6e374e4bded76d6942b04f702f1</commitId><timestamp>1786888680000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Tidying up opds feed detail and edit screens. Tidyup reordering logic.
</comment><date>2026-08-16 14:58:00 +0100</date><id>58f0e2413459c6e374e4bded76d6942b04f702f1</id><msg>Tidying up opds feed detail and edit screens. Tidyup reordering logic.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt</affectedPath><commitId>e50a0e5e301d03afff35387110a952a26ce5e07e</commitId><timestamp>1786891292000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Finish splitting up OpdsFeedEdit screen into files by component. Remove passing modifier as drag handle modifier.
</comment><date>2026-08-16 15:41:32 +0100</date><id>e50a0e5e301d03afff35387110a952a26ce5e07e</id><msg>Finish splitting up OpdsFeedEdit screen into files by component. Remove passing modifier as drag handle modifier.</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</affectedPath><commitId>6d26c550c69f6151d7f5f6006a6485e3a2ad412f</commitId><timestamp>1786897318000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update OpdsFeedEdit user interface to use list items instead of buttons for add section, collection link, learning item link.
</comment><date>2026-08-16 17:21:58 +0100</date><id>6d26c550c69f6151d7f5f6006a6485e3a2ad412f</id><msg>Update OpdsFeedEdit user interface to use list items instead of buttons for add section, collection link, learning item link.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedItemIndex.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/SetExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><commitId>3e7914c436ac81358bb1d409f0243b793b43e12f</commitId><timestamp>1786914595000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>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.

Hide bottom navigation when in picker mode for opdsfeed. Hide fab buttons when in picker mode.
</comment><date>2026-08-16 22:09:55 +0100</date><id>3e7914c436ac81358bb1d409f0243b793b43e12f</id><msg>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.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedItemIndex.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/SetExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsDocument.kt</affectedPath><commitId>bb23065b90ecfb762580fe39960f1976477d1580</commitId><timestamp>1786991141000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fixes for selecting navigation feeds from OpdsFeedEdit

Implement similar logic for checkbox display/handling for selecting a catalog.

Delete failing PlaylistRepositoryIntegrationTest: data will be stored using xAPI, so this is obsolete anyway.
</comment><date>2026-08-17 22:25:41 +0400</date><id>bb23065b90ecfb762580fe39960f1976477d1580</id><msg>Fixes for selecting navigation feeds from OpdsFeedEdit</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsDocument.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><commitId>7f131744491ddc0efd6abd008ed9a076919f13ca</commitId><timestamp>1786992077000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement support for selecting multiple feeds in OpdsFeedEdit.
</comment><date>2026-08-17 22:41:17 +0400</date><id>7f131744491ddc0efd6abd008ed9a076919f13ca</id><msg>Implement support for selecting multiple feeds in OpdsFeedEdit.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>0cae67de9a6e7aa51f44f3bbb51b1910c547c23c</commitId><timestamp>1787124069000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix making opds selections via bookmarks and collections list.
</comment><date>2026-08-19 11:21:09 +0400</date><id>0cae67de9a6e7aa51f44f3bbb51b1910c547c23c</id><msg>Fix making opds selections via bookmarks and collections list.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><commitId>599566d5f6e120812dc17e2a961fe97c0b6fa161</commitId><timestamp>1787129115000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor to make catalog related naming more consistent.
</comment><date>2026-08-19 12:45:15 +0400</date><id>599566d5f6e120812dc17e2a961fe97c0b6fa161</id><msg>Refactor to make catalog related naming more consistent.</msg><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditGroupMenuItemButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedshare/OpdsFeedShareScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditNavigationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeeddetail/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditMoveToGroupDialog.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><commitId>292abb05550957a6b329fd125719e69e035def73</commitId><timestamp>1787131047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor to make catalog related naming more consistent. Part 2
</comment><date>2026-08-19 13:17:27 +0400</date><id>292abb05550957a6b329fd125719e69e035def73</id><msg>Refactor to make catalog related naming more consistent. Part 2</msg><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditMoveToGroupDialog.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedshare/OpdsFeedShareScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/bookmark/BookmarkListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeeddetail/OpdsFeedDetailViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditGroupMenuItemButton.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</affectedPath><commitId>75c74bbcdb51f3ad02544de3ecc5f5bd717ea701</commitId><timestamp>1787131078000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename PlaylistListScreen to OpdsFeedListScreen.kt
</comment><date>2026-08-19 13:17:58 +0400</date><id>75c74bbcdb51f3ad02544de3ecc5f5bd717ea701</id><msg>Rename PlaylistListScreen to OpdsFeedListScreen.kt</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><commitId>639e9f3d4fad6071d3cfe1f9fc1dd16ee5372e8d</commitId><timestamp>1787132084000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Change terminology from "playlists" to "collections".
</comment><date>2026-08-19 13:34:44 +0400</date><id>639e9f3d4fad6071d3cfe1f9fc1dd16ee5372e8d</id><msg>Change terminology from "playlists" to "collections".</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>1a12113da3450281ee572d9db700f65f3c6120c3</commitId><timestamp>1787229886000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Rename playlists to collections in Maestro test flows
</comment><date>2026-08-20 16:44:46 +0400</date><id>1a12113da3450281ee572d9db700f65f3c6120c3</id><msg>Rename playlists to collections in Maestro test flows</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>ba2dfb7424848af4936b81a003a4d5f014748f98</commitId><timestamp>1787301439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro test flow to reflect collection copy-to-remix terminology changes
</comment><date>2026-08-21 12:37:19 +0400</date><id>ba2dfb7424848af4936b81a003a4d5f014748f98</id><msg>Update Maestro test flow to reflect collection copy-to-remix terminology changes</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>eb12348981b30281cf941954cb3930f8845c5a2a</commitId><timestamp>1787549779000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update empty state message in collections flow to "No collections yet" in Maestro test
</comment><date>2026-08-24 09:36:19 +0400</date><id>eb12348981b30281cf941954cb3930f8845c5a2a</id><msg>Update empty state message in collections flow to "No collections yet" in Maestro test</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>bf39cab5ecd969e47fd006021c9b3bf93ea68e29</commitId><timestamp>1787556754000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro test flow to reflect UI text changes for sections and items
</comment><date>2026-08-24 11:32:34 +0400</date><id>bf39cab5ecd969e47fd006021c9b3bf93ea68e29</id><msg>Update Maestro test flow to reflect UI text changes for sections and items</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>2bc3b058abd54dcb32f58dd67d8e376f7201c46e</commitId><timestamp>1787559604000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro user test flow (`002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml`) to fix navigation steps and screen assertions.
</comment><date>2026-08-24 12:20:04 +0400</date><id>2bc3b058abd54dcb32f58dd67d8e376f7201c46e</id><msg>Update Maestro user test flow (`002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml`) to fix navigation steps and screen assertions.</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>1dfff6a649700f53936df5761288c8ffe7cd35d9</commitId><timestamp>1787638103000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update UI test expectations in `002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml` to match "Edit collection" text
</comment><date>2026-08-25 10:08:23 +0400</date><id>1dfff6a649700f53936df5761288c8ffe7cd35d9</id><msg>Update UI test expectations in `002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml` to match "Edit collection" text</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>e5afba98a323628471ef4eb2c414ad215be6210f</commitId><timestamp>1787813603000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Clean up and streamline collection-related Maestro tests

- Remove outdated and commented-out collection sharing and editing test steps.
- Simplify collection remix flow assertions in the test script.
- Remove commented assertion for Lesson 002.
</comment><date>2026-08-27 10:53:23 +0400</date><id>e5afba98a323628471ef4eb2c414ad215be6210f</id><msg>Clean up and streamline collection-related Maestro tests</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><commitId>1e82740368b233000871a26f36af06dc49a6aa83</commitId><timestamp>1788780599000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Enable assertions for "Assignment Result Statement Demo" app title in Maestro test flow
</comment><date>2026-09-07 15:29:59 +0400</date><id>1e82740368b233000871a26f36af06dc49a6aa83</id><msg>Enable assertions for "Assignment Result Statement Demo" app title in Maestro test flow</msg><path><editType>edit</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_.lck</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-wal</affectedPath><affectedPath>respect-server/data/respect-app.db-wal</affectedPath><affectedPath>respect-server/data/dir-admin.txt</affectedPath><affectedPath>respect-server/data/respect-app.db</affectedPath><affectedPath>respect-server/data/respect-app.db-shm</affectedPath><affectedPath>respect-server/data/server.properties</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</affectedPath><affectedPath>respect-server/data/respect-app.db.lck</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-shm</affectedPath><commitId>6ee350d7644c81636bdd7c6e9467caa765aed61a</commitId><timestamp>1789648642000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove test data no longer covered by gitignore.
</comment><date>2026-09-17 16:37:22 +0400</date><id>6ee350d7644c81636bdd7c6e9467caa765aed61a</id><msg>Remove test data no longer covered by gitignore.</msg><path><editType>delete</editType><file>respect-server/data/respect-app.db-shm</file></path><path><editType>delete</editType><file>respect-server/data/dir-admin.txt</file></path><path><editType>delete</editType><file>respect-server/data/server.properties</file></path><path><editType>delete</editType><file>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_.lck</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db-wal</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db</file></path><path><editType>delete</editType><file>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-wal</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db.lck</file></path><path><editType>delete</editType><file>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</file></path><path><editType>delete</editType><file>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-shm</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/ext/OpdsFeedEntityExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><commitId>87391a9a03b2e3dc1a18da04a0e104d3e2c9fa0f</commitId><timestamp>1789668616000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add ETag and Last-Modified caching support to OpdsFeedDataSource and remove write operations
</comment><date>2026-09-17 22:10:16 +0400</date><id>87391a9a03b2e3dc1a18da04a0e104d3e2c9fa0f</id><msg>Add ETag and Last-Modified caching support to OpdsFeedDataSource and remove write operations</msg><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/ext/OpdsFeedEntityExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><commitId>e430d3912c32f55f19c11f3f1febba05a2811992</commitId><timestamp>1789732644000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement asRepoFlow for repository data loading and remove OPDS feed write support
</comment><date>2026-09-18 15:57:24 +0400</date><id>e430d3912c32f55f19c11f3f1febba05a2811992</id><msg>Implement asRepoFlow for repository data loading and remove OPDS feed write support</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><commitId>13f2d0396253ff9440f3218469a2986d82343388</commitId><timestamp>1789740744000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement SaveOpdsFeedUseCase to persist OPDS feeds to xAPI activity profile
</comment><date>2026-09-18 18:12:24 +0400</date><id>13f2d0396253ff9440f3218469a2986d82343388</id><msg>Implement SaveOpdsFeedUseCase to persist OPDS feeds to xAPI activity profile</msg><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt</affectedPath><commitId>b69a100d4d1cd0c868bce1f508769bec864d9493</commitId><timestamp>1789904836000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add test for RepoFlow
</comment><date>2026-09-20 15:47:16 +0400</date><id>b69a100d4d1cd0c868bce1f508769bec864d9493</id><msg>Add test for RepoFlow</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</affectedPath><commitId>d41cbd4aff4ae57c4eaab3c035c894bdf5a3f103</commitId><timestamp>1789972892000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Prevent older remote data from overwriting newer local data
</comment><date>2026-09-21 10:41:32 +0400</date><id>d41cbd4aff4ae57c4eaab3c035c894bdf5a3f103</id><msg>Prevent older remote data from overwriting newer local data</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><commitId>e1ca3bf147e7f55025333eb0fd58757778ed6c28</commitId><timestamp>1789974069000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update DataLoadStateExt.kt comments
</comment><date>2026-09-21 11:01:09 +0400</date><id>e1ca3bf147e7f55025333eb0fd58757778ed6c28</id><msg>Update DataLoadStateExt.kt comments</msg><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/001_003_login_using_school_link_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_class_with_members.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_new_student_to_class.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_class.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_student.yaml</affectedPath><affectedPath>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_test.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><commitId>3dc7335ed9c45c15b467355f461d504e30878257</commitId><timestamp>1789977414000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Restore to maestro tests as per main branch.
</comment><date>2026-09-21 11:56:54 +0400</date><id>3dc7335ed9c45c15b467355f461d504e30878257</id><msg>Restore to maestro tests as per main branch.</msg><path><editType>edit</editType><file>.maestro/flows/001_003_login_using_school_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml</file></path><path><editType>delete</editType><file>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>add</editType><file>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><commitId>1bad6f9b7297a774b2387ed31e14b0cb9e7ad186</commitId><timestamp>1789980925000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix use of title on 002_001 browse lesson test. Update maestro readme as per new module names.
</comment><date>2026-09-21 12:55:25 +0400</date><id>1bad6f9b7297a774b2387ed31e14b0cb9e7ad186</id><msg>Fix use of title on 002_001 browse lesson test. Update maestro readme as per new module names.</msg><path><editType>edit</editType><file>.maestro/README.md</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_001_browse_lessons_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_002_browse_demo_app_test.yaml</affectedPath><commitId>57bafa259a211717b8cd5b1232a94555d8106eb6</commitId><timestamp>1789984229000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix 002_002_browse_demo_app_test.yaml : change id to publication_title.
</comment><date>2026-09-21 13:50:29 +0400</date><id>57bafa259a211717b8cd5b1232a94555d8106eb6</id><msg>Fix 002_002_browse_demo_app_test.yaml : change id to publication_title.</msg><path><editType>edit</editType><file>.maestro/flows/002_002_browse_demo_app_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/ISingleDocumentParams.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><commitId>353a9ddfe454298dd3e21ab0ad7310238747bb7c</commitId><timestamp>1789999846000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Extract AbstractXapiDocumentResourceTest and add XapiStateResource
</comment><date>2026-09-21 18:10:46 +0400</date><id>353a9ddfe454298dd3e21ab0ad7310238747bb7c</id><msg>Extract AbstractXapiDocumentResourceTest and add XapiStateResource</msg><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/ISingleDocumentParams.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStateResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStateResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentShaEntity.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStateDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</affectedPath><commitId>7481be86dd5178e393327f194df98c985f1392b9</commitId><timestamp>1790008624000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement xAPI State resource database storage and migration to version 18
</comment><date>2026-09-21 20:37:04 +0400</date><id>7481be86dd5178e393327f194df98c985f1392b9</id><msg>Implement xAPI State resource database storage and migration to version 18</msg><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStateDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentShaEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStateResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStateResourceAssertions.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStateResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><commitId>830ba89b25fbcbf10e15d7be093022a721ee1698</commitId><timestamp>1790009870000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add xAPI State resource HTTP client and server route
</comment><date>2026-09-21 20:57:50 +0400</date><id>830ba89b25fbcbf10e15d7be093022a721ee1698</id><msg>Add xAPI State resource HTTP client and server route</msg><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStateResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</affectedPath><commitId>1667f23c409416362154b7d78671489d9180d94e</commitId><timestamp>1790011846000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class
</comment><date>2026-09-21 21:30:46 +0400</date><id>1667f23c409416362154b7d78671489d9180d94e</id><msg>Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class</msg><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><commitId>50137ed31af5059ca8f3d9eaa165a03d50f51eab</commitId><timestamp>1790012078000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class
</comment><date>2026-09-21 21:34:38 +0400</date><id>50137ed31af5059ca8f3d9eaa165a03d50f51eab</id><msg>Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><commitId>7cf928c31fa9548ef1424965d95d5d86e24dcc15</commitId><timestamp>1790013331000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement XapiStateResourceRepository
</comment><date>2026-09-21 21:55:31 +0400</date><id>7cf928c31fa9548ef1424965d95d5d86e24dcc15</id><msg>Implement XapiStateResourceRepository</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentEntity.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAgentProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentShaDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><commitId>8e677442f2e34eb2b726e9631d4b150d95f65c6e</commitId><timestamp>1790079166000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement xAPI Agent Profile resource
</comment><date>2026-09-22 16:12:46 +0400</date><id>8e677442f2e34eb2b726e9631d4b150d95f65c6e</id><msg>Implement xAPI Agent Profile resource</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentDao.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepository.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAgentProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentShaEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentShaDao.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit></freeStyleBuild>